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:39:20 GMT
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