cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Maj <...@adobe.com>
Subject Re: Why CLI & Plugman are so slow
Date Thu, 25 Jul 2013 16:53:53 GMT
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" <agrieve@chromium.org> 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();


Mime
View raw message