Performance of ES6 features relative to the ES5 baseline operations per second.
node chrome firefox edge safari webkit
4.7.0 5.11.1 6.10.0 7.7.1 8.0.0-pre 49 51 54 56 57 58.0.3001.0 59.0.3030.0 46 49 13.10586 9 602.1.36+
arrow tests babel Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
buble Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
traceur Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
typescript Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
es5-bind 15x slower 13x slower 1.9x slower 1.8x slower 1.7x slower 35x slower 1.9x slower 1.7x slower 1.7x slower 1.8x slower 1.6x slower 1.8x slower Identical 8x slower 4x slower 12x slower 6x slower
es6 Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
arrow-args tests babel Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
buble Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
traceur Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
typescript Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect
es6 Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical 1.2x slower Identical Identical Identical Identical 36x slower
arrow-declare tests babel 1.3x slower 1.4x slower 1.3x slower 1.2x slower 1.3x slower 1.3x slower 1.2x slower 1.4x slower 1.4x slower 1.2x slower 34x slower 39x slower 1.5x slower Identical 1.8x slower
buble 1.3x slower 1.4x slower 1.3x slower 1.3x slower 1.4x slower 1.3x slower 1.3x slower 1.4x slower 1.3x slower 1.3x slower 17x slower 19x slower 1.4x slower Identical
traceur 1.3x slower 1.4x slower 1.3x slower 1.4x slower 1.3x slower 1.3x slower 1.2x slower 1.4x slower 1.4x slower Identical 16x slower 19x slower 1.5x slower Identical 1.9x slower
typescript 1.3x slower 1.4x slower 1.3x slower 1.2x slower 1.3x slower 1.2x slower 1.2x slower 1.2x slower 1.3x slower 1.2x slower 16x slower 19x slower 1.5x slower Identical 2.0x slower
es6 1.3x slower 1.4x slower 1.2x slower 1.2x slower 1.3x slower 1.3x slower 1.3x slower 1.2x slower 1.3x slower 1.4x slower 1.4x slower 1.2x slower 42x slower 48x slower 1.5x slower 2.0x slower
bindings tests babel Identical Identical Identical Identical 1.2x slower 1.3x faster Identical Identical Identical Identical Identical Identical Identical Identical Error
buble Identical Identical Identical Identical 1.3x slower Identical Identical Identical Identical Identical Identical Identical Identical Identical
traceur Identical Identical Identical Identical Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Error
typescript Identical Identical Identical Identical 1.2x slower 1.3x faster Identical Identical Identical Identical Identical Identical Identical Identical Error
es6 Identical Identical Identical Identical 1.3x slower 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Error
bindings-compound tests babel Identical Identical Identical Identical 1.2x slower Identical Identical Identical Identical Identical Identical Identical Identical Identical Error
buble Identical Identical Identical Identical 1.2x slower Identical Identical Identical Identical Identical Identical Identical Identical Identical
traceur Identical Identical Identical Identical 1.2x slower Identical Identical Identical 1.3x faster Identical Identical Identical Identical Identical Error
typescript Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.2x faster Identical Identical Identical Identical Error
es6 1.4x slower Identical 1.5x slower 1.8x slower Identical 1.5x slower 1.5x slower Identical 1.4x slower 1.4x slower Identical Identical Identical Error
classes tests babel 1.3x slower 1.3x slower 1.7x slower 6x slower 5x slower 1.2x slower 1.8x slower 1.2x slower Identical 1.9x slower 29x slower 30x slower 1.3x slower Identical Error
babel-loose Identical Identical 1.6x slower 5x slower 5x slower Identical 1.8x slower Identical Identical 1.8x slower 29x slower 31x slower Identical Identical Error
babel-runtime 1.2x slower Identical 1.7x slower 5x slower 6x slower 1.2x slower 2.0x slower Identical Identical 1.9x slower 32x slower 34x slower 1.3x slower Identical Error
buble Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.2x slower
traceur Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Error
typescript Identical Identical Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Error
es6 Identical Identical Identical Identical Identical 2.0x slower 1.2x slower Identical 1.6x slower Identical 1.5x slower 1.6x slower Identical Identical 1.3x slower 1.2x slower Error
defaults tests babel Identical 1.3x slower 1.3x slower 1.3x slower 1.4x slower 1.2x slower 1.4x slower 1.4x slower 1.2x slower 2.2x slower Identical Identical 2.6x slower 6x slower Error
buble 1.3x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
traceur 7x slower 8x slower 8x slower 14x slower 13x slower 55x slower 10x slower 13x slower 12x slower 13x slower 2616x slower 2552x slower 250x slower 9x slower Error
typescript Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Error
es6 2.8x slower Identical Identical Identical 2.8x slower 1.2x slower Identical Identical 2.3x slower Identical Identical Identical Identical Identical Error
destructuring tests babel 1.4x slower 1.5x slower 1.8x slower 1.3x slower 1.3x slower 1.7x slower 2.3x slower 1.3x slower Identical 1.4x slower Identical Identical 4x slower 2.3x slower Error
babel-loose 1.2x faster 1.2x faster 1.2x faster 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Error
babel-runtime Identical Identical 1.9x slower Identical 1.2x slower 1.4x slower 2.4x slower 1.4x slower 1.2x slower 1.5x slower Identical Identical 4x slower 2.3x slower Error
traceur 10x slower 10x slower 10x slower 13x slower 14x slower 10x slower 12x slower 5x slower 4x slower 5x slower 150x slower 108x slower 35x slower 32x slower Error
typescript Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Error
es6 10x slower 9x slower 9x slower 13x slower 8x slower 11x slower 6x slower 4x slower 1.3x slower Identical Identical 155x slower 121x slower 21x slower 26x slower Error
destructuring-array tests es6 7x slower 7x slower 12x slower 8x slower 6x slower 6x slower Identical Identical 1.3x faster
destructuring-custom-iterator tests es6 1.2x faster Identical Identical Identical Identical Identical Identical Identical 1.2x faster
destructuring-default-values tests es6 1.7x slower Identical Identical Identical Identical 1.2x slower Identical Identical Identical
destructuring-nested-object tests es6 1.7x slower Identical Identical Identical Identical 1.3x slower Identical Identical Identical
destructuring-simple tests babel Identical Identical Identical Identical Identical Identical Identical 1.3x faster Identical Identical Identical Identical Identical Identical Identical
buble 1.2x faster Identical Identical Identical Identical Identical 1.3x slower Identical Identical Identical Identical Identical Identical Identical
traceur Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.2x faster Identical Identical Identical Identical Identical
typescript Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
es6 1.3x slower 1.3x slower Identical Identical Identical 1.3x slower Identical 1.3x slower Identical 1.2x faster Identical 4x slower 3x slower Identical Identical Identical
destructuring-string tests es6 6x slower 6x slower 2.4x slower 2.5x slower 6x slower Identical 1.2x faster Identical
for-of-array tests babel 7x slower 6x slower 5x slower 6x slower 6x slower 6x slower 5x slower 1.4x slower 1.5x slower 1.4x slower 17x slower 15x slower 10x slower 7x slower 3x slower
babel-loose Identical Identical 1.3x slower Identical Identical Identical 1.4x slower 1.2x slower Identical Identical 1.4x slower 1.2x slower 1.3x slower 1.3x slower Identical
babel-runtime 6x slower 6x slower 5x slower 6x slower 6x slower 6x slower 6x slower 1.7x slower 1.8x slower 1.8x slower 17x slower 13x slower 25x slower 7x slower 3x slower
traceur 7x slower 7x slower 8x slower 6x slower 6x slower 7x slower 8x slower 1.4x slower 1.4x slower 1.4x slower 16x slower 15x slower 9x slower 7x slower 3x slower
typescript 1.3x faster 1.3x faster Identical 1.2x faster 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
es6 7x slower 6x slower 8x slower 6x slower 6x slower 5x slower 4x slower 6x slower 3.0x slower 1.4x slower 1.3x slower 1.4x slower 4x slower 3x slower 5x slower 5x slower 3x slower
for-of-object tests babel 2.8x slower 2.5x slower 4x slower 2.5x slower 2.2x slower 5x slower 4x slower 2.4x slower 4x slower 4x slower 6x slower 6x slower 5x slower 3x slower 2.3x slower
babel-loose 2.5x slower 2.3x slower 4x slower 2.5x slower 2.4x slower 5x slower 3x slower 2.5x slower 4x slower 4x slower 4x slower 2.8x slower 13x slower 2.4x slower 2.4x slower
babel-runtime 4x slower 2.7x slower 5x slower 2.5x slower 2.4x slower 5x slower 4x slower 2.5x slower 5x slower 5x slower 6x slower 5x slower 24x slower 3x slower 2.4x slower
traceur 3.0x slower 2.5x slower 4x slower 2.4x slower 2.3x slower 5x slower 4x slower 2.6x slower 4x slower 4x slower 7x slower 6x slower 5x slower 3.0x slower 4x slower
typescript Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect
es6 3.0x slower 2.4x slower 4x slower 2.5x slower 2.2x slower 5x slower 4x slower 2.2x slower 2.3x slower 2.4x slower 4x slower 4x slower 3x slower 2.3x slower 3x slower 2.4x slower 2.4x slower
generator tests babel 5x slower 5x slower 7x slower 4x slower 4x slower 7x slower 6x slower 4x slower 3x slower 3x slower 13x slower 11x slower 33x slower 17x slower 9x slower
babel-loose 5x slower 5x slower 7x slower 5x slower 5x slower 7x slower 6x slower 4x slower 3x slower 4x slower 13x slower 11x slower 32x slower 18x slower 9x slower
babel-runtime 5x slower 5x slower 7x slower 4x slower 5x slower 7x slower 6x slower 4x slower 3x slower 4x slower 13x slower 11x slower 32x slower 18x slower 9x slower
traceur 20x slower 21x slower 28x slower 41x slower 52x slower 47x slower 23x slower 29x slower 27x slower 28x slower 166x slower 137x slower 36x slower 17x slower 4x slower
es6 1.4x slower Identical 6x slower 4x slower 5x slower 1.9x slower 6x slower 5x slower 6x slower 1.9x slower 1.5x slower 1.8x slower 13x slower 11x slower 18x slower 5x slower
map-set tests babel 7x slower 6x slower 6x slower 6x slower 6x slower 3x slower 4x slower 4x slower 4x slower 4x slower 16x slower 13x slower 1.6x slower 7x slower 6x slower
babel-loose 10x slower 9x slower 14x slower 16x slower 17x slower 5x slower 11x slower 6x slower 7x slower 15x slower 32x slower 33x slower 6x slower 23x slower 21x slower
babel-runtime 10x slower 9x slower 13x slower 15x slower 16x slower 5x slower 11x slower 6x slower 7x slower 16x slower 32x slower 33x slower 6x slower 23x slower 28x slower
buble 7x slower 6x slower 5x slower 5x slower 5x slower 3x slower 4x slower 4x slower 4x slower 4x slower 15x slower 13x slower 1.5x slower 9x slower
traceur 6x slower 6x slower 6x slower 5x slower 20x slower 3x slower 4x slower 4x slower 4x slower 4x slower 16x slower 14x slower 1.6x slower 8x slower Error
typescript 6x slower 6x slower 6x slower 5x slower 5x slower 3x slower 4x slower 4x slower 4x slower 4x slower 16x slower 14x slower 1.5x slower 8x slower 7x slower
es6 8x slower 6x slower 5x slower 5x slower 5x slower 3x slower 4x slower 4x slower 4x slower 4x slower 4x slower 4x slower 16x slower 14x slower 1.5x slower 9x slower 7x slower
map-set-lookup tests babel 9x faster 9x faster 8x faster 8x faster 8x faster 9x faster 9x faster 8x faster 8x faster 8x faster 13x faster 38x faster 66x faster 63x faster 59x faster
babel-loose 5x faster 5x faster 2.2x faster 1.6x faster 1.5x faster 5x faster 2.3x faster 5x faster 4x faster 1.4x faster 2.3x faster 6x faster 11x faster 8x faster 8x faster
babel-runtime 4x faster 5x faster 2.3x faster 1.7x faster 1.6x faster 4x faster 2.3x faster 5x faster 4x faster 1.4x faster 2.3x faster 6x faster 11x faster 8x faster 5x faster
buble 8x faster 9x faster 9x faster 8x faster 8x faster 9x faster 11x faster 10x faster 11x faster 11x faster 13x faster 39x faster 59x faster 64x faster
traceur 9x faster 8x faster 9x faster 8x faster 8x faster 8x faster 9x faster 8x faster 8x faster 8x faster 13x faster 38x faster 61x faster 65x faster Error
typescript 10x faster 9x faster 9x faster 8x faster 8x faster 9x faster 10x faster 10x faster 11x faster 11x faster 13x faster 38x faster 62x faster 65x faster 59x faster
es6 9x faster 10x faster 9x faster 7x faster 7x faster 10x faster 11x faster 10x faster 10x faster 11x faster 10x faster 10x faster 13x faster 39x faster 65x faster 65x faster Error
map-set-object tests babel 1.5x slower 1.8x faster 8x slower 7x slower 7x slower 1.6x slower 8x slower 7x slower 6x slower 6x slower 9x slower 6x slower 1.6x slower 2.1x slower 5x slower
babel-loose 2.1x slower 1.2x faster 19x slower 21x slower 22x slower 2.1x slower 19x slower 11x slower 10x slower 25x slower 18x slower 14x slower 6x slower 7x slower 15x slower
babel-runtime 2.2x slower 1.3x faster 18x slower 20x slower 21x slower 2.1x slower 19x slower 10x slower 10x slower 24x slower 19x slower 14x slower 6x slower 7x slower 21x slower
buble 1.5x slower 1.8x faster 7x slower 6x slower 7x slower 1.5x slower 8x slower 7x slower 6x slower 7x slower 9x slower 5x slower 1.6x slower 2.4x slower
traceur 3.0x slower 1.8x faster 9x slower 7x slower 175x slower 1.5x slower 8x slower 7x slower 7x slower 7x slower 8x slower 5x slower 1.7x slower 2.2x slower Error
typescript 1.6x slower 1.8x faster 8x slower 6x slower 7x slower 1.6x slower 8x slower 7x slower 6x slower 6x slower 8x slower 5x slower 1.5x slower 2.2x slower Error
es6 1.9x slower 1.8x faster 8x slower 7x slower 7x slower 1.6x slower 8x slower 7x slower 7x slower 7x slower 6x slower 6x slower 8x slower 5x slower 1.6x slower 2.3x slower Error
map-string tests babel 1.8x slower 1.6x slower 2.3x slower 1.9x slower 1.9x slower 1.9x slower 2.5x slower 1.9x slower 1.9x slower 1.8x slower 52x slower 57x slower 9x slower 1.4x faster Error
babel-loose 3x slower 2.7x slower 11x slower 9x slower 10x slower 2.7x slower 11x slower 3x slower 4x slower 10x slower 182x slower 222x slower 26x slower 5x slower 4x slower
babel-runtime 3x slower 2.5x slower 10x slower 9x slower 10x slower 3x slower 12x slower 4x slower 4x slower 9x slower 180x slower 223x slower 24x slower 4x slower 5x slower
buble 2.2x slower 1.8x slower 2.2x slower 1.9x slower 1.9x slower 2.0x slower 2.7x slower 1.9x slower 1.9x slower 1.9x slower 52x slower 56x slower 9x slower 1.4x faster
traceur 2.1x slower 1.9x slower 2.3x slower 1.9x slower 1.9x slower 1.9x slower 2.5x slower 1.8x slower 1.9x slower 1.6x slower 52x slower 56x slower 9x slower 1.3x faster Error
typescript 2.1x slower 1.8x slower 2.2x slower 1.9x slower 1.9x slower 1.9x slower 2.5x slower 1.9x slower 1.9x slower 1.7x slower 54x slower 56x slower 9x slower 1.3x faster Error
es6 2.2x slower 1.6x slower 2.3x slower 2.0x slower 2.0x slower 1.8x slower 2.6x slower 2.0x slower 1.7x slower 1.8x slower 1.9x slower 1.7x slower 52x slower 56x slower 10x slower 1.3x faster Error
new-target tests es6 1.3x slower Identical 1.7x slower 1.6x slower 1.8x slower Identical 1.9x slower 2.2x slower 1.9x slower 1.5x slower 1.5x slower 1.5x slower 16x faster 18x faster Identical
nodesource-array-includes tests es6 4x slower 4x slower 2.5x slower 2.1x slower 2.0x slower 1.8x slower 1.8x slower 1.8x slower
nodesource-default-params tests es6 Identical Identical Identical Identical Identical Identical Identical
object-assign tests babel 5x slower 5x slower 3x slower 3.0x slower 2.7x slower 2.5x slower 4x slower 2.7x slower 1.3x faster 2.7x slower 1.4x slower 1.5x slower 1.6x faster 4x slower Error
babel-loose 5x slower 5x slower 3x slower 2.7x slower 2.7x slower 2.5x slower 4x slower 2.7x slower 1.3x faster 2.5x slower 1.4x slower 1.6x slower 1.6x faster 3x slower 2.2x slower
babel-runtime 5x slower 4x slower 3x slower 2.9x slower 2.8x slower 2.3x slower 4x slower 2.8x slower 1.3x faster 2.5x slower 1.4x slower 1.6x slower 1.7x faster 3x slower 2.1x slower
buble 4x slower 4x slower 3x slower 2.8x slower 2.6x slower 1.3x slower 4x slower 2.6x slower 1.3x faster 2.4x slower 1.4x slower 1.5x slower 1.6x faster 4x slower
traceur 5x slower 4x slower 3x slower 2.6x slower 8x slower 1.4x slower 4x slower 2.8x slower 1.3x faster 2.8x slower 1.4x slower 1.5x slower 1.6x faster 3x slower Error
typescript 5x slower 4x slower 3x slower 2.7x slower 2.7x slower 1.4x slower 4x slower 2.8x slower 1.3x faster 2.5x slower 1.4x slower 1.6x slower 1.7x faster 3x slower 2.7x slower
es6 4x slower 4x slower 3x slower 3.0x slower 2.9x slower 1.4x slower 4x slower 3.0x slower 3.0x slower 2.7x slower 1.3x faster 2.6x slower 1.4x slower 1.5x slower 1.8x faster 2.4x slower
object-literal-ext tests babel 5x slower 7x slower 4x slower 2.6x slower 2.8x slower 5x slower 5x slower 2.6x slower 6x slower 2.4x slower 3x slower 3x slower 1.6x slower 1.4x faster Error
babel-loose Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.6x faster Identical
babel-runtime 6x slower 7x slower 4x slower 2.3x slower 2.7x slower 5x slower 5x slower 2.4x slower 5x slower 2.6x slower 3.0x slower 3x slower 1.6x slower 1.5x faster 1.3x slower
traceur 96x slower 119x slower 26x slower 17x slower 21x slower 37x slower 26x slower 15x slower 15x slower 15x slower 25x slower 24x slower 4x slower 3x slower Error
typescript Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.2x faster Identical
es6 17x slower 18x slower 8x slower 5x slower 6x slower 14x slower 8x slower 6x slower 8x slower 6x slower 3x slower 2.5x slower 13x slower 13x slower Identical 1.8x faster 2.5x slower
promises tests babel Identical Identical Identical Identical Identical 2.2x faster 2.0x faster 1.9x faster 1.9x faster 1.9x faster Identical Identical Identical 7x faster 8x faster
babel-loose Identical Identical Identical Identical Identical 2.0x faster 2.0x faster 1.9x faster 1.9x faster 2.0x faster Identical Identical Identical 7x faster 8x faster
babel-runtime Identical Identical Identical Identical Identical 2.0x faster 1.9x faster 1.9x faster 1.9x faster 1.9x faster Identical Identical Identical 7x faster 8x faster
buble Identical Identical Identical Identical Identical 2.1x faster 2.0x faster 1.9x faster 1.9x faster 2.0x faster Identical Identical Identical 7x faster 8x faster
traceur Identical Identical Identical Identical Identical 2.0x faster 2.0x faster 1.9x faster 1.9x faster 1.9x faster Identical Identical Identical 7x faster 7x faster
typescript Identical Identical Identical Identical Identical 2.1x faster 2.0x faster 1.9x faster 1.9x faster 1.9x faster Identical Identical Identical 7x faster 8x faster
es6 Identical Identical Identical Identical Identical 2.2x faster 2.0x faster 2.0x faster 2.0x faster 1.9x faster 1.9x faster 1.9x faster Identical Identical Identical 7x faster 8x faster
regex-u tests babel 2.0x slower 1.8x slower 1.7x slower 1.8x slower 1.9x slower 1.8x slower 1.5x slower 1.6x slower 1.4x slower 1.5x slower 6x slower 1.4x slower 7x slower 4x slower Error
traceur 1.6x slower 1.3x slower 1.6x slower 1.5x slower 1.8x slower 1.8x slower 1.4x slower 1.5x slower 1.6x slower 1.4x slower 2.9x slower 1.3x slower 1.5x slower 1.4x slower Error
typescript Incorrect Incorrect 1.5x slower 1.5x slower 1.7x slower 1.5x slower 1.4x slower 1.6x slower 1.4x slower 3x slower 1.4x slower 1.3x slower
es6 Incorrect Incorrect 1.5x slower 1.3x slower 1.4x slower 1.5x slower 1.6x slower Identical 1.3x slower 1.6x slower 1.5x slower 3x slower 1.4x slower 1.3x slower Error
rest tests babel 5x faster 6x faster 6x faster 7x faster 8x faster 47x faster 6x faster 6x faster 8x faster 6x faster 1620x faster 1422x faster 1.6x slower 1.3x faster Error
buble 1.2x faster 1.4x faster 1.3x faster Identical Identical 9x faster 1.2x faster Identical Identical Identical 17x faster 14x faster 1.6x slower Identical
traceur 1.2x faster 1.2x faster 1.2x faster Identical Identical 9x faster 1.2x faster 1.2x faster Identical Identical 18x faster 14x faster 1.7x slower Identical Error
typescript 1.3x faster 1.3x faster 1.2x faster Identical Identical 8x faster 1.2x faster Identical Identical Identical 18x faster 14x faster 1.7x slower Identical Error
es6 3x slower 3.0x slower 1.2x faster Identical 1.3x faster 2.5x faster 1.2x faster 1.4x faster 1.3x faster 1.2x faster 1.2x faster 1.3x faster 23x faster 18x faster 11x faster Error
spread tests babel Identical Identical Identical 1.2x slower Identical Identical Identical 1.2x slower Identical Identical Identical Identical Identical Identical Error
buble Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical
traceur 5x slower 5x slower 10x slower 13x slower 13x slower 5x slower 10x slower 5x slower 5x slower 5x slower 4x slower 4x slower 21x slower 28x slower Error
typescript Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Error
es6 9x slower 9x slower 23x slower 20x slower 19x slower 10x slower 23x slower 19x slower 13x slower 1.4x slower Identical Identical 9x slower 6x slower 1.5x slower 5x slower Error
spread-generator tests babel 6x slower 5x slower 16x slower 15x slower 15x slower 8x slower 17x slower 25x slower 6x slower 6x slower 5x slower 5x slower 90x slower 13x slower Error
babel-loose Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Incorrect Error
babel-runtime 5x slower 5x slower 25x slower 15x slower 17x slower 7x slower 24x slower 28x slower 7x slower 6x slower 6x slower 5x slower 36x slower 13x slower Error
traceur 18x slower 16x slower 25x slower 36x slower 39x slower 32x slower 20x slower 20x slower 22x slower 20x slower 32x slower 37x slower 43x slower 10x slower Error
es6 2.6x slower 2.8x slower 9x slower 6x slower 6x slower 3.0x slower 8x slower 6x slower 10x slower 4x slower 2.8x slower 2.6x slower 8x slower 7x slower 10x slower Error
spread-literal tests babel Identical Identical 4x slower 1.9x slower 2.0x slower 2.0x slower 5x slower 2.0x slower 2.4x slower 2.5x slower 2.1x faster 1.3x slower 1.6x slower 1.3x slower Error
buble Identical Identical 4x slower 1.9x slower 2.0x slower 2.0x slower 5x slower 2.1x slower 2.5x slower 2.3x slower 2.1x faster 1.3x slower 1.4x slower 1.3x slower
traceur 81x slower 2.5x slower 9x slower 11x slower 13x slower 2.5x slower 7x slower 5x slower 3x slower 4x slower 3x slower 2.9x slower 25x slower 8x slower Error
typescript Identical Identical 4x slower 1.9x slower 2.1x slower 1.9x slower 5x slower 2.1x slower 2.4x slower 2.5x slower 2.0x faster 1.3x slower 2.2x slower 1.5x slower Error
es6 6x slower 5x slower 8x slower 6x slower 7x slower 5x slower 9x slower 6x slower 4x slower 3x slower 3x slower 4x slower 7x slower 5x slower 1.9x slower 6x slower Error
spread-super tests es6 2.3x slower 20x slower 24x slower 6x slower 2.5x slower 2.5x slower
super tests babel 15x slower 15x slower 11x slower 13x slower 13x slower 18x slower 12x slower 8x slower 8x slower 8x slower 24x slower 25x slower 22x slower 21x slower Error
babel-loose 1.7x slower 1.6x slower 2.8x slower 7x slower 7x slower 1.4x slower 2.8x slower 1.6x slower 1.7x slower 2.3x slower 4x slower 4x slower 7x slower 1.8x slower Error
babel-runtime 15x slower 14x slower 11x slower 12x slower 14x slower 17x slower 12x slower 8x slower 9x slower 9x slower 24x slower 25x slower 26x slower 21x slower Error
buble Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.2x slower Identical Identical 2.8x faster
traceur 12x slower 12x slower 8x slower 14x slower 17x slower 15x slower 9x slower 7x slower 7x slower 8x slower 20x slower 21x slower 22x slower 22x slower Error
typescript Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.3x slower Identical Error
es6 14x slower 11x slower 3x slower 2.3x slower 2.4x slower 6x slower 4x slower 2.8x slower 4x slower 2.3x slower 2.8x slower 2.8x slower 47x slower 53x slower 2.9x slower 7x slower Error
template string tests babel Identical 1.3x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.9x faster Identical Error
buble Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 1.3x faster Identical
traceur Identical Identical Identical 4x slower 3x slower Identical Identical Identical Identical Identical Identical Identical 1.8x faster Identical Error
typescript Identical 1.2x faster Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 2.3x faster Identical Error
es6 1.8x slower 1.6x slower Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical Identical 2.5x faster Identical Error
template string tag tests babel 1.4x slower Identical 1.5x slower 1.3x slower 1.4x slower 1.4x slower 1.4x slower 1.4x slower 1.2x slower 1.3x slower 26x slower 27x slower 1.4x slower 2.0x slower Error
babel-loose 1.2x faster 1.4x faster Identical Identical Identical Identical Identical Identical Identical Identical 10x faster 11x faster 1.4x faster 1.4x faster Error
babel-runtime 1.3x slower Identical 1.5x slower Identical 1.5x slower 1.4x slower 1.4x slower 1.2x slower 1.2x slower 1.2x slower 26x slower 27x slower 1.4x slower 2.0x slower Error
traceur 6x slower 5x slower 11x slower 17x slower 18x slower 19x slower 10x slower 8x slower 7x slower 7x slower 146x slower 134x slower 12x slower 7x slower Error
typescript Identical Identical 1.4x slower 1.4x slower 1.4x slower Identical 1.3x slower 1.4x slower 1.4x slower 1.4x slower 79x slower 77x slower 1.2x slower 2.8x slower Error
es6 3x slower 2.7x slower 3x slower 2.5x slower 2.9x slower 3x slower 3x slower 2.4x slower 4x slower 2.7x slower 2.7x slower 2.6x slower 26x slower 27x slower 1.3x slower 2.3x slower Error

Testing methodology

Run on 3/3/2017 using babel 6.18.0, babel-runtime 6.18.0, and traceur 0.0.108.

For each of the ES6 features in question, a ES5 implementation of that functionality was written along with a ES6 version. It should be noted that the functionality is frequently the same, but in some cases the "common" vs. "correct" version was written, i.e. using x[key] = value vs. defineProperty which is faster but can be hit but a particular nasty edge case for those who deem it fun to extend Object.prototype.

Babel, in both loose+runtime and runtime mode, and Traceur were then used to compile the ES6 version to a ES5 compliant version, utilizing the runtime over polyfill to maintain test isolation and avoid native implementations where possible.

All of these test instances were then benchmarked in the given JavaScript engine using Benchmark.js and then the operations per second compared to the ES5 implementation. Cross browser and cross execution comparisions are avoided as much as possible to isolate environmental issues when executing on VMs in the cloud. Identical indicates that the tested implementation was +/- 10% of the ES5 implementation.