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(); >> >>> >> >>> >> > >>
