TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Node.js memory benchmark confirms V8's GC may not be ready for the server

93 pointsby hanneswover 14 years ago

11 comments

felixgeover 14 years ago
To the author of this article: Could you run your node test with "node --trace-gc &#60;script&#62;" turned on? That will output when, and for how long, node's GC is doing it's thing.<p>Anyway, this could be a legit complaint at this point.
评论 #1740357 未加载
amixover 14 years ago
V8 has a very impressive garbage collector (stop-the-world, generational, accurate) and the GC is probably a part the Google team have spent a lot of time tuning and working on as it's one of the harder and most important parts of building a VM...<p>My guess is that node's GC configuration isn't finely tuned for 25KB structures or maybe the GC is called prematurely.<p>Some suggestions: try to turn off the GC and re-do the benchmark, try with smaller JSON datastructures, try with different versions of node. Each of these would give more evidence where the problem is.<p>Btw. in that benchmark: which versions of RingoJS and node.js are used? How much memory does each server use in the end?<p>Edit: What type of garbage collector does RingoJS/Rhino use - how is the GC configured for RingoJS?
评论 #1739959 未加载
sh1mmerover 14 years ago
I think the editorializing of the headline is unnecessarily negative (read biased). There is obviously an issue Ryan is working on addressing but Node is clearly already providing performance which is suitable for many server workloads.
评论 #1739915 未加载
评论 #1739918 未加载
评论 #1739861 未加载
js4allover 14 years ago
First, the response time variation is an important observation, thanks for that. To make sure, that it is caused by V8's CG, we need a GC log from the benchmark.<p>Second to make this a fair comparison, you need to use a similar sized heap. It could be, that the JVM heap was large enough to run the whole test without a major CG. We need a GC log also for this part of the test.<p>Sun was aware of the different CG strategies needed for server and client use and let us choose between them. V8 however seems the be optimized for the client side.
IsaacSchlueterover 14 years ago
I'm not yet convinced this is due to GC. Sent a pull request[1] to Hannes to use the faster Buffer technique, to at least rule out the interference of v8's crazy slow string juggling under load.<p>1: <a href="http://github.com/hns/ringo-node-benchmark/pull/1" rel="nofollow">http://github.com/hns/ringo-node-benchmark/pull/1</a>
robin_realaover 14 years ago
Has anyone done any experiements with node.js and Jägermonkey? They’re getting pretty close to V8 in speed ( <a href="http://arewefastyet.com/" rel="nofollow">http://arewefastyet.com/</a> ) and might prove better for server use (utter conjecture on my part).
评论 #1739753 未加载
评论 #1739758 未加载
评论 #1739738 未加载
newman314over 14 years ago
I wonder what effect this will have in a memory constrained environment on say webOS.<p>The original Palm Pre only has 256MB of RAM and had plenty of "out of mem issues" prior to homebrew adding compcache
russell_hover 14 years ago
Why does he pin this on the garbage collector?
评论 #1740008 未加载
jiaaroover 14 years ago
It seems like node performs better at the bottom of the curve where most of us are likely to be.<p>Can the performance issues be solved by adding hardware? (or spin up more node processes so that each one stays at the bottom of the curve?
评论 #1739893 未加载
评论 #1739784 未加载
plqover 14 years ago
python did not return any memory whatsoever to the operating system before 2.5.<p><a href="http://bugs.python.org/issue1123430" rel="nofollow">http://bugs.python.org/issue1123430</a>
joevandykover 14 years ago
"Confirms it may not be ready"? Really?<p>I've just confirmed I may have solved cancer.