Cool, nice work. We could either try to contribute to shelljs or rip it out and go all child process all the time
In any case I think this bench should be submitted to shelljs repo. @r2r, dude who maintains it, would probably like to know On 7/25/13 9:50 AM, "Andrew Grieve" <[email protected]> wrote: >One reason: shelljs.exec() > >Did a test to see how many times I could execute "true". 9 seconds vs .5 >seconds! > > >agrieve@agrieve-macbookpro ~/git/cordova/tmp$ time node shelljstest.js >went 0 times >went 10 times >went 20 times >went 30 times >went 40 times >went 50 times >went 60 times >went 70 times >went 80 times >went 90 times >went 100 times > >real 0m8.873s >user 0m10.941s >sys 0m6.005s >agrieve@agrieve-macbookpro ~/git/cordova/tmp$ time node >child_processtest.js >went 10 times >went 20 times >went 30 times >went 40 times >went 50 times >went 60 times >went 70 times >went 80 times >went 90 times >went 100 times > >real 0m0.470s >user 0m0.278s >sys 0m0.228s > > >Here's the code: >shelljstest.js > >var shjs = require('shelljs'); >> for (var i = 0; ; ++i) { >> shjs.exec('true'); >> if ((i / 10 | 0) == i / 10) { >> console.log('went ' + i + ' times'); >> } >> if (i == 100) { >> process.exit(0); >> } >> } > > >child_processtest.js > >var child = require('child_process'); >> var i = 0; >> function go() { >> child.exec('true', function() { >> ++i; >> if ((i / 10 | 0) == i / 10) { >> console.log('went ' + i + ' times'); >> } >> if (i == 100) { >> process.exit(0); >> } >> go(); >> }); >> } >> go();
