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();

Reply via email to