Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello,
I believe the react example was not being very fair for a few reasons:
1 - The TodoMVC React example is very old, it does not take advantages from newer features of the language (ES6) nor from react (pure functions, classes)
For example, it implements an Utils.extends instead of simply using Object.assign, which should be more performatic. It also uses React.createClass instead of ES6 classes or having functional components, which would be a more up to date standard.
2 - It is using a generic way of handling state, which wasn't thought for performance (also adds unnecessary stuff like generate uuids).
This makes it unfair to compete against angular 2 for example, which is a fully-fledged framework and have optimizations to the way it handles state. The most common scenario for react is to handle the state with redux, which leads to my next point.
3 - The current react example isn't the most common real-case scenario
Although react and redux are two entirely separate things, all projects I've personally known of that is using one is also using the other, with es6 and so on
So, the example I added that uses react + redux is based on @gaearon's egghead tutorials1, they use all new "community approved" tooling, also Dan always worry about performance. It is a little faster than previous optimized react:
Although the performance is not much greater, I feel it is import to keep this as an example in the benchmarks because it is closer to the real world and may gain performance improvements automatically simply because it is using newer syntax and tooling.