OneJS also does the samething; http://github.com/azer/onejs

I myself use it for bundling my stuff for browsers, some others use it
for other platforms...

On Mon, May 13, 2013 at 2:39 PM, Tim Caswell <[email protected]> wrote:
> V8 is as fast as it can possibly be at running hot.  Which for long-running
> node servers is great.  In fast, in my testing, javascript in node is
> generally slightly faster than lua in luajit.
>
> V8, however is not optimized for process startup.  It uses a lot of ram and
> does a lot of up-front optimizing to get said runtime speed.  All software
> has to make tradeoffs and my experience with V8 and the V8 team is they will
> sacrifice startup time of the vm itself and memory usage, if it makes the
> scripts run significantly faster.
>
> Yes there is some blame in node as well.  Node is under the assumption that
> most uses are for servers who startup rarely and run for a long time.  So a
> hundred ms of extra startup time on your server doesn't matter at all.
>
> I'm not convinced that combining all your js files into a single file will
> significantly affect process startup time.  I'm happy to be proven wrong,
> but in my experience this is not the bottleneck.
>
> One of my responsibilities when I worked on webOS was to make node startup
> fast-enough on older smart-phones that we could start node processes
> on-demand in reaction to user-input.  We tried creating a fork-server, using
> snapshots, composing and minifying js code.  But in the end, V8 and node
> were just too heavy and waiting on an on-demand node process affected user
> experience and introduced significant lag.  We would have just kept the node
> services running all the time, but then they used too much ram.  10mb each
> was simply too much for a smart-phone.
>
>
> My solution was to use another Vm and it solved all my problems, but then it
> wasn't javascript anymore, and not many people were interested.  (Also the
> webOS project was killed by the then CEO)
>
> If NPK can somehow remove the need for a JavaScript engine, then it will be
> fast, but if you end up needing all of V8 and js code to run, it will never
> help memory-usage or startup time, no matter how much you combine everything
> into a single file.  Just starting a node repl on these devices can take
> over 1000ms.
>
>
> On Mon, May 13, 2013 at 4:28 PM, Alex Kocharin <[email protected]> wrote:
>>
>>
>> Another implementation will go terribly slow.
>>
>> V8 is a browser thingy, and I'm sure it is as fast as it could possibly
>> be, because every millisecond counts there.
>>
>> So there is nothing wrong with V8. But there could be something wrong with
>> node.js itself. Think about hundreds of .js files it needs to read on
>> startup... "npm" itself do 964 system calls to various */node_modules/*.js
>> files when it's starting (use strace to check that).
>>
>> --
>> // alex
>>
>>
>> 14.05.2013, 01:17, "Tim Caswell" <[email protected]>:
>>
>> If you ever come across a JS engine that boots as fast as Lua, I'll port
>> node to it.  On my raspberry pi and my various webos smart-phones, node
>> process booting takes over 1000ms, but lua is nearly instant.
>>
>> Actually, I think a new JS engine who's goal is to be light-weight would
>> be really neat actually.  As long as it doesn't run too terribly slow.
>>
>>
>> On Mon, May 13, 2013 at 4:07 PM, Alex Kocharin <[email protected]> wrote:
>>
>>
>> If we are talking about non-compatible solutions, I might as well use
>> python instead ;)
>>
>> --
>> // alex
>>
>>
>> 14.05.2013, 01:04, "Tim Caswell" <[email protected]>:
>>
>> Alex, I share your pain.  That is why I made a version/port of node that
>> didn't use V8, but rather, the much lighter-weight luajit engine.  It's at
>> luvit.io. (warning, not compatible with node.js code or ecosystem, just the
>> same idea / API style)
>>
>>
>> On Sun, May 12, 2013 at 6:21 AM, Alex Kocharin <[email protected]> wrote:
>>
>>
>> Well, if NPK will be able to join all dependencies in one javascript file,
>> it will already be a big deal. On my system "npm" executable file takes
>> 1.153s to load from disk and 0.153s to load from cache. All binary
>> executables like "gpg" or "dpkg" take 0.004s to load. It's really annoying
>> sometimes...
>>
>> --
>> // alex
>>
>>
>> 11.05.2013, 10:03, "Fred Chien" <[email protected]>:
>>
>> Hi All,
>>
>> I am glade to introduce NPK, which is a packaging utlity for Node.js. :-)
>>
>> NPK aims to package project which is based on Node.js, and bundle all
>> JavaScript files to make all in one file, even protect source code.
>>
>> Here is repository at Github:
>>
>> https://github.com/cfsghost/npk
>>
>> You also can install it directly via npm:
>>
>> npm install npk -g
>>
>> BTW, We are now trying to support a feature that precompile JavaScript
>> files to be binary to speed up loading time of program of Node.js.
>>
>> Cheers,
>> Fred
>>
>>
>>
>> --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>>
>>
>> --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>>
>>
>> --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>>
>>
>> --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>>
>>
>> --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>> --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>
>
> --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to