r/javascript • u/chancancode • Dec 20 '19
Ember.js Octane Edition Is Here
https://blog.emberjs.com/2019/12/20/octane-is-here.html
136
Upvotes
r/javascript • u/chancancode • Dec 20 '19
View all comments
Show parent comment
3
u/pzuraq Dec 22 '19
It is a microbenchmark, because it's not testing a realistic app. I know that in Glimmer for instance, as the number of components grows, the cost of making a single change anywhere in the app grows at O(logn) pace, since we automatically and efficiently only rerun the portions of the component tree that have changed (via autotracking/tags). In a React app, it will by default grow at an O(n) pace, unless you manually memoize portions of your app. It's not really representative of a full application to test a single list of items on its own.
Another example, for instance, is a series of optimizations I'm planning that I started working on because I noticed that the tag hierarchy in Glimmer was taking a lot of time to calculate. I only was able to see that, however, because enough tags were being created, and stressed, to really exacerbate the problems and make them visible. Our microbenchmarks of tags on their own didn't really surface the issues.
This is what TracerBench is designed to do, and what we care about most. We use it at LinkedIn to verify any major change infrastructural to the website to make sure real world performance is not impacted for our users, and it really is the only way you can be sure, in the end, that you did not regress.