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:41:04 GMT
Chalk it up as another issue.

Feel free to help out with CLI/plugman tagged issues everyone. Lots of
work there! ;)

On 7/25/13 10:39 AM, "Anis KADRI" <anis.kadri@gmail.com> wrote:

>xD. +1 for child_process because it comes with node too eh :)
>
>On Thu, Jul 25, 2013 at 10:36 AM, Filip Maj <fil@adobe.com> wrote:
>> 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