4 ms·
> I think that your benchmarks are a bit off: instead of comparing 5to6 with Traceur + Runtime, you should compare 5to6 + <polyfills> versus Traceur + Runtime (
by sebastianmck 12y ago
> I think that your benchmarks are a bit off: instead of comparing 5to6 with Traceur + Runtime, you should compare 5to6 + <polyfills> versus Traceur + Runtime (or 5to6 vs vanilla Traceur).
The only polyfill that is required is Symbol/Symbol.iterator and that's only required if you use a for-of loop. I included the runtimes in the stats specifically to show the disadvantages to having them. I agree with you that it is slightly off and I'll work to improve it.
> Same, the Op/Sec doesn't tell us much about how much time is actually required to compile a significant codebase.
I struggled to find a significant ES6 codebase to test against. If you know of one please let me know!
> Anyway, I really like these projects (especially since I'm working on an ES6 library), so good luck ! Is it possible to live-compile ES6 scripts, like with Traceur + ES6-Module-Loader ?
I'm not familiar with that behaviour. Do you mean automatically watching and compiling on changes?
> Finally, I note that 5to6 doesn't use ES6 itself (when the Traceur build process self-compile, for example).
I may move to bootstrapping eventually although it seems like a hassle when I'm more than complacent to just write ES5.
- apaprocki 12y ago> I struggled to find a significant ES6 codebase to test against. If you know of one please let me know! One was just posted yesterday and made it to the front page: http://virtjs.com/ http://virtjs.com/ "Modern - Virtjs has been made with the full power of ES6, the next iteration of the Javascript programming language. It gives us a pretty simple source code. We're one of the very first libraries to jump aboard!"
- arcatek 12y ago(That's mine! o/)
- arcatek 12y ago> I'm not familiar with that behaviour. Do you mean automatically watching and compiling on changes? I mean that a javascript library would act as a gate to live-compile Javascript files on-the-fly. For example, with ES6-Module-Loader[1], you can do something like this in your browser : <script> System.import('mymodule').then(function(m) { new m.q(); }).catch(console.error.bind(console)); </script> 'mymodule' can be an uncompiled ES6 module, the code will still work fine, because ES6-Module-Loader will get its content (XHR), resolve its dependencies, then pass everything to Traceur. Obviously its main use is for debug purpose (since it does a request for each source file, which won't be great until HTTP 2), but it allows to have a full ES6 workflow, without any visible compilation pass. [1] https://github.com/ModuleLoader/es6-module-loader https://github.com/ModuleLoader/es6-module-loader