[idea] Construct an array of strings for transactions instead of one big string #1542
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.
Another poo-commit.
It can probably be improved further (performance wise), but it has some interesting results, Chrome: http://imgur.com/pHROMTO (right/red is this PR, left/black is master)
While I find that those perf tests tend to differ between each try, there are some tests that seem to show a significant and stable improvement of 5-8% it seems. I would also assume that this improvement increases for larger DOM updates (especially the initial rendering).
Running it through my old "torture-test" of mounting and unmounting a large tree, IE8 shows 0 difference, but IE9 runs 20% faster and IE10/FF runs 10% faster and IE11/Chrome is around 5% faster (just for mount+unmount, so no rendering involved and not layouting either I think).
I'm assuming this would also put significantly less pressure on the GC as new strings don't have to be created for every concatenation.
Pending your input on whether to proceed (and do it proper) or not.