cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anis KADRI <anis.ka...@gmail.com>
Subject Re: Why CLI & Plugman are so slow
Date Thu, 25 Jul 2013 17:23:08 GMT
https://github.com/rbranson/node-ffi

looks like it does

On Thu, Jul 25, 2013 at 10:14 AM, Filip Maj <fil@adobe.com> wrote:
> Does it work with Windows?
>
> On 7/25/13 10:11 AM, "Andrew Grieve" <agrieve@chromium.org> wrote:
>
>>Looks like the fix is pretty easy:
>>
>>agrieve@agrieve-macbookpro ~/git/cordova/tmp$ time node go3.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 0m0.444s
>>user 0m0.266s
>>sys 0m0.158s
>>
>>
>>All I did was replace "shelljs" with "shelljs-ffi".
>>
>>
>>On Thu, Jul 25, 2013 at 12:53 PM, Filip Maj <fil@adobe.com> wrote:
>>
>>> 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