-
Notifications
You must be signed in to change notification settings - Fork 47
Candidate benchmarks #6
Comments
Concerning benchmarking "real" apps it might be hard to get meaningful results that can be compared. Think of benchmarking acmeair v0.1.1 using io.js 2.2.1 on day 1. But we actually don't know why? Might be an updated module, or a database upgrade or io.js being faster. I think benchmarking a real application is a good thing, but there should be a clear strategy on how to get reproducible results. Maybe shrinkwrapping modules versions and mocking databases could do the trick. What do you think? |
Agreed - for any benchmark it will be important to only change one "component" (be that node.js/io.js or used module) at a time, so we know where the change in performance is coming from. Shrinkwrapping is a good approach to making sure that happens. |
+1 for seabaylea's comment. For comparison purposes we'll want to limit the changes so that we can isolate what may have affected results |
Do you think database latency might be an issue? If we stick to the same machine(s) and database version it might not be a problem. |
Like other variables we'd need to make sure we keep the database version/systems consistent between runs and when we do change the database not change anything else at the same time |
Since WebSockets are often used with Node some that we might consider including: https://www.npmjs.com/package/thor |
Here are a couple gulp scripts that would put decent pressure on a macro-benchmark: gulpjs/gulp#1118 |
I am interested in helping to populate it. I'd like use this comment to track recommended benchmarks for the various use cases. Use CasesNode.js a component in a web stack
Node.js outside of the web stack
|
https://github.com/nodejs/benchmarking/blob/master/docs/case_coverage.md is not completely empty, but it would be happier if there were less blank spaces (which I'm guessing is what you meant). |
Yes, I realize that was not clear. I've edited my post to read "somewhat sparse". |
From #243:
Firstly, thanks @davisjam and everyone here for your efforts expanding the Node.js benchmarking use cases. Ronomon is an email startup in private beta. It falls into the "systems software" use case. Our new storage stack is being written in Node.js to drive 16x 10TB disks per server. Things that are important for this use case:
I hope this helps, Node.js has been great so far, making it easy to dip into C when needed, and with Javascript as a fast control plane language. It's fantastic to have a whole benchmarking team, and I'm looking forward to seeing CPU-intensive tasks becoming first-class asynchronous citizens. |
The TechEmpower benchmark source for Node.js is here. |
This issues is to discuss/identify candidate benchmarks. So far what we have on the list is:
We expect that we'll want multiple, with at least one to cover each use case identified in #5
The text was updated successfully, but these errors were encountered: