I don't remember Ember's performance, but React's seems to slow down significantly in jumps at certain marks, similar to Angular 1, which seems to suggest they have some at least one place where optimization could be made. It should be noted though that Angular 2 builds on top of many rock solid principles that React introduced, and has ruthlessly optimized upon that with continuous benchmarking and careful planning.
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 .