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 17:36:25 GMT
Changed your named to Gmail now huh Jesse?

On 7/25/13 10:32 AM, "Gmail" <purplecabbage@gmail.com> wrote:

>+1 to child_process or leave it slow.
>
>Sent from my iPhone
>
>On Jul 25, 2013, at 10:28 AM, Filip Maj <fil@adobe.com> wrote:
>
>> Yeah that¹s how a lot of the "hey this works native on windows" modules
>>on
>> npm works: they have to compile it D:
>> 
>> On 7/25/13 10:26 AM, "Andrew Grieve" <agrieve@chromium.org> wrote:
>> 
>>> just tried it, and it "does", but only if you have both python and
>>>visual
>>> studio installed on your machine. Guess it builds the .dll at npm
>>>install
>>> time :(
>>> 
>>> 
>>> On Thu, Jul 25, 2013 at 1:23 PM, Anis KADRI <anis.kadri@gmail.com>
>>>wrote:
>>> 
>>>> 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