-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: branch pruning in calculation engine #818
Feature: branch pruning in calculation engine #818
Conversation
(pruning). We tag parsed tokens to associate a branch identifier to them
82e5b11
to
c859cd9
Compare
…atibility reasons
e3dda62
to
8620871
Compare
@frantzmiccoli That seems like a very interesting improvement, but also very risky of course. As it seems you are still actively working on it, please rebase, squash and force push when you think you are done. I has only a very quick look, but noticed a few new public methods. If possible it would be best to not grow the public API. I am not saying it can be avoidable in this case, but please keep it in mind. @MarkBaker I added you as reviewer as it is a significant change and to see if that would conflict in some ways with your new calculation engine ? |
Also, try as much as possible to split in private methods, rather that expanding even more the already ginormous methods. |
8620871
to
a61f7fe
Compare
a61f7fe
to
1fb6b96
Compare
Thanks for your comments and advices. I am done with the polishing, all those last commits were desperate tries to make the CI silent (maybe testing from my Travis would have avoided the commit spam). Yes, this is touching the core of the calculation engine, so, it would not be to surprising to introduce regression. I did my best to thoroughly test it, if you see extra tests to perform let me know. As per the extra public methods:
A side point about As per the code splitting in the calculation engine itself, the |
Closed by mistake, re-opening. @MarkBaker, with your work on the engine, should this be merged as soon as possible ? Or will your work replace everything soon enough anyway so this shouldn't be merged at all? |
I realised this PR has been closed because the @frantzmiccoli, would you be able to rebase on master ? Or maybe we should wait for @MarkBaker inputs before you do extra work ? |
This is:
Checklist:
Why this change is needed?
Calculation engine was resolving every function by first resolving its arguments including IFs, this was causing significant over evaluation when IFs were used as it meant for every case to be evaluated.
I have tested against 5 files made by 4 different people to ensure that this was not introducing regression, I have observed none. It generates speed improvement from 0% to 80% on those files.