Node.js in Flame Graphs
11–20 of 259 posts
Re: Node.js in Flame Graphs
#12Re: Node.js in Flame Graphs
#131ms / entry? What is it doing that it's spending 3 million cycles on a single path check?
Re: Node.js in Flame Graphs
#14OFFTOPIC: "Today, I want to share some recent learnings from performance tuning this new application stack." The word you want is "lessons".
OFFTOPIC: "Today, I want to share some recent learnings from performance tuning this new application stack." The word you want is "lessons". Jeez, not only is your comment offtopic and pedantic, it's also wrong.
http://english.stackexchange.com/questions/19227/plural-of-l...
Also: http://www.merriam-webster.com/dictionary/learning No plural option.
Re: Node.js in Flame Graphs
#15> ...as well as increasing the Node.js heap size to 32Gb. > ...also saw that the process’s heap size stayed fairly constant at around 1.2 Gb. This is because 1.2 GB is the max allowed heap size in v8. Increasing beyond this value has no effect. > ...It’s unclear why Express.js chose not to use a constant time data structure like a map to store its handlers. It it is non-trivial (not possible?) to do this in O(1) for…
I'd be impressed if they did it consistently in O(1) for static routes. I think they were looking for O(log(number of different routes)) instead of O(n).
Re: Node.js in Flame Graphs
#16"First, we need to fully understand our dependencies before putting them into production."
Re: Node.js in Flame Graphs
#17 > our misuse of the Express.js API was the
> ultimate root cause of our performance issue
That's unfortunate. Restify is a nice framework too, but mistakes can be made with any of them. Strongloop has a post comparing Express, Restify, hapi and LoopBack for building REST API's for anyone interested. http://strongloop.com/strongblog/compare-express-restify-hap...Re: Node.js in Flame Graphs
#18> It’s unclear why Express.js chose not to use a constant time data structure like a map to store its handlers. Its actually quite clear - most routes are defined by a regex rather than a string, so there is no built-in structure (if there's a way at all) to do O(1) lookups in the routing table. A router that only allowed string route definitions would be faster but far less useful. I can't explain away the recursion…
Re: Node.js in Flame Graphs
#19OFFTOPIC: "Today, I want to share some recent learnings from performance tuning this new application stack." The word you want is "lessons".
"learnings" is a perfectly cromulent word: https://books.google.com/ngrams/graph?content=learnings&year...