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