-
Notifications
You must be signed in to change notification settings - Fork 24
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
Use Tree #54
Use Tree #54
Conversation
Cool thanks! It might take me a while to review this. Since this a big change it might make sense to bump the major version number (even though the API is the same). What do you think? |
Oh yeah when we were using this heavily in production we noticed that the large amount of object creations was causing garbage collection pressure. Not sure if there's something we can do in the tests (existing or new) to capture the GC events and compare them between the old & new code. |
Overall, I'm ok with the changes. I'm not intimately familiar with the previous code so I don't know the inns and outs of each change. However, if upon testing with our production code that the same input produces the same output and there are no performance regressions, we can publish it with a major version bump. |
After testing internally and validating the same output is produced with these changes, we want to start testing this. Therefore, I'm going to merge this and publish under 2.x. Thanks @BillDorn! |
Rewrite of library to store contexts and configurations in a trie style tree, this scales better than the current method.
Most internal methods and variables are changed so client code that relies on these will likely break, support can be added if needed. Public methods should match previous behavior in all cases.
Perf measurements based off the preexisting benchmark for reads and initial load time: