es6-shim icon indicating copy to clipboard operation
es6-shim copied to clipboard

Symbol.split polyfill poor performance

Open paatrofimov opened this issue 6 years ago • 1 comments

Steps I took to to reproduce issue:

  1. npm init react-app my-app
  2. npm i es6-shim --save
  3. npm start
  4. open console (chrome), run script from below and inspect printed result (~7)
  5. add require('es6-shim') to index.js (devserver updates)
  6. repeat step 4 and inspect another result (~105)
var test = Array.from({length: 100000}, () => 'a').join('.');
var start = new Date();
test.split(/\./)
console.log(new Date() - start);

Why is es6-shim Symbol.split implementation significantly slower than native implementation? Is it a bug or intented behaviour? Also I don't understand, why Symbol.split gets polyfilled though chrome supports its implementation.

Thank you for response in advance.

paatrofimov avatar Nov 22 '18 16:11 paatrofimov

Native implementations are always faster than polyfilled ones, that’s unavoidable.

As far as why it gets polyfilled on chrome, you can load the native tests file to see what related tests are failing.

ljharb avatar Nov 22 '18 16:11 ljharb