News for hackers. Stuff that matters.
Re:Making the Switch from Node.js to Golang by jorangreef on Saturday November 19, 2016 @08:15AM (#12993338)
When I think of event loop blocking, the first thing I think of is GC. I find it strange that the author doesn't mention or consider GC. They might easily have been creating too many closures in a loop (a closure per data item, instead of a single handler for all data items), or millions of long lived pointers (using a Javascript object as a hash table for caching, instead of a flat buffer-based hash table).

Did the author tune the size of the libuv threadpool or did they leave it at the default of 4 threads?

Also, the response times given both for Node and their new system in Go are really not that great. The results for Go are an anti-climax considering it was a rewrite. They could probably undercut both times with a better design, regardless of language.

Node is a great control plane, and you can always use C++ as your data plane.

Re:Making the Switch from Node.js to Golang by majewsky on Saturday November 19, 2016 @08:30AM (#12993384)
I would guess that the response times are severely limited by the performance of S3.
Re:Making the Switch from Node.js to Golang by jorangreef on Saturday November 19, 2016 @08:41AM (#12993437)
I haven't worked with S3 for some time. Is latency really that high when in the same availability zone?
Re:Making the Switch from Node.js to Golang by LusoTycoon on Saturday November 19, 2016 @08:50AM (#12993471)
S3 is based on regions.

200ms of latency is quite normal for S3, not designed with that in mind.