+1 to child_process or leave it slow. Sent from my iPhone
On Jul 25, 2013, at 10:28 AM, Filip Maj <[email protected]> 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" <[email protected]> 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 <[email protected]> wrote: >> >>> https://github.com/rbranson/node-ffi >>> >>> looks like it does >>> >>> On Thu, Jul 25, 2013 at 10:14 AM, Filip Maj <[email protected]> wrote: >>>> Does it work with Windows? >>>> >>>> On 7/25/13 10:11 AM, "Andrew Grieve" <[email protected]> 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 <[email protected]> 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" <[email protected]> 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(); >
