|
|
|
|
|
by Cshelton
3942 days ago
|
|
What benchmarks? You say all the benchmarks but provide no links and I know for a matter of fact that your statement is simply not true. Also, be wary of benchmarks, they tend to optimize one framework while leaving the other ones not optimized. Also to note, I've used React for very complicated things, even having to optimize under the 50mb limit in one tab and the performance did not slow down as you claim. I've been using React on a production app > 1 year. I used Angular 1.x before that. And the only way I see every change detection being O(1) is using something like Immutable js or serializing the "state" and comparing strings. Just by this blog post alone, it seems the Angular community is quite split on what they want. Wouldn't it make sense to just maintain Angular 1.x and start on a new framework, which would basically be Angular's version of React and Ember, with a new name. Performance difference will be negligible. |
|
Different people have presented on them - Uri Goldshtein gave a talk within the past month at the AngularJS Mountain View meetup where he personally benchmarked React, Angular 1, Angular 2, and one other library using Meteor with all of them, and the findings were very interesting - React started struggling around two marks, including around the 20k element mark (I may remember that number slightly wrong) & 50k element mark (which is a bit of a contrived benchmark IMO), but the remarkable aspect was how linear Angular 2's performance was. React's showed a more complicated picture, at times behaving like a quadratic. Angular 1.x also shows similar patterns, which is consistent with every benchmark people have presented in talks or blog articles. At large numbers of DOM nodes in a simple flat tree, most libraries showed issues - React would take over 3.5s to render at over 100k elements, whereas Angular 2 performs amazingly at under 100ms on the same test. Unfortunately, this talk was never uploaded due to Google having had video issues, but it looks like the findings were made available here: http://info.meteor.com/blog/comparing-performance-of-blaze-r... .
The Angular team has also done presentations on Angular 1.x vs. 2 - Misko mentioned in a talk in April that Angular 2 was already 2-10 times as fast as Angular 1, and they have made massive strides since that time. Other people have reported React being roughly 2x as fast in many situations, which is strongly suggestive that it does not keep up with Angular 2.
The Angular team has adopted immutable data structures internally I believe - they have talked about it at ng-conf and numerous times afterwards, and Victor Savkin has written an article on it here: http://victorsavkin.com/post/110170125256/change-detection-i... . They using observables to handle this in Angular 2 .