5 ms·
> when we started to look at .NET Core in early 2016, it became quite obvious that being able to asynchronously hand off to our queuing service greatly improved
by scandox 9y ago
> when we started to look at .NET Core in early 2016, it became quite obvious that being able to asynchronously hand off to our queuing service greatly improved throughput. Unfortunately, at the time, Node.js didn’t provide an easy mechanism to do this, while .NET Core had great concurrency capabilities from day one.
This is a mildly maddening article - not because I have any emotional attachment to either platform - but because it never really gets to the heart of the matter. It's like they can tell us, but they'd have to kill us afterwards.
- andrewstuart 9y agoI'm with ya. All hype, no details. A 20X improvement cannot be attributed to .NET core, it must attributed substantially to some implementation/algorithmic issue that they resolved once they got to the .NET core platform. There's a big problem somewhere with node.js if it is 20X slower. If true, then its simply a bug or series of bugs to be fixed in node.js.
- UK-AL 9y agoJust a basic request/response with barely anything thing in it, shows the .NET core is faster than node. https://stackoverflow.com/questions/43920942/unexpected-outcome-of-node-js-vs-asp-net-core-performance-test https://stackoverflow.com/questions/43920942/unexpected-outc... Obviously this isn't very scientific without a benchmark suite.
- jamra 9y agoIt's not 30 times faster. Also, it doesn't matter which one is faster unless there is. Huge speed improvement. Your web server is not the bottleneck.
- UK-AL 9y ago"Your web server is not the bottleneck." - Highly depends on your setup. But removing any 3rd party libraries, and external requests. Generally .NET core is faster.
- SideburnsOfDoom 9y ago> But removing any 3rd party libraries, and external requests. Generally .NET core is faster. Is that with reference to "faster than .Net regular" or "faster than node.js"? You're right either way but I'm not sure that "it's just faster" is all that relevant. The "Just a basic request/response with barely anything thing in it" case removes anything of interest. For any normal non-trivial, non-demo setup, the web server is fine. I would look at the performance of data stores and other backends. The performance of "asynchronously hand off to our queuing service" is most likely the overriding factor in a 20 or 30x increase.
- UK-AL 9y agoSome have already optimised the heck out of their data retrieval and writes.
- SideburnsOfDoom 9y ago> Some have already optimised the heck out of their data retrieval and writes Then they have likely not very much to gain from framework speedup either. The fact that raygun could introduce a "asynchronously hand off to our queuing service" says quite clearly that "already optimised data retrieval and writes" is not the case that we are talking about.
- UK-AL 9y agoAsynchronously dropping something on to a queue, possibly leaves the queue client implementation as the suspect slowing node down. But assuming that dropping something on to a queue is incredibly fast. Switching how you serve your http requests can increase performance by some multiples because it would be the largest constant in time taken assuming a very fast queue drop. Although I agree, if your at that point your probably serving all your requests fine anyway.
- rubber_duck 9y agoActually 3rd party libraries and application code is where .NET is likely to be faster unless node lib is wrapping a C library - .NET can easily beat JS an order of magnitude simply by having control of memory layouts and high performance/specialized data structures. Meanwhile JS has crap structures (doesn't even have primitive arrays) and everything is it's dynamic object where you pray the JIT eventually figures out a constant structure and tries to optimize.
- coldtea 9y ago>It's not 30 times faster. That's because the empty request doesn't do much. Start adding real work and the statically typed JIT compiled .NET code shows its real teeth.
- emodendroket 9y agoIt may also be that it's easier to write in performance issues or bugs unintentionally with Node.
- bleuarff 9y agoI agree with you. A bold claim with very vague explanations makes it a bit hard to believe. I'd love to have more details on how they pulled that off.
- aliostad 9y agothis is yet the "more detailed" post. Here is the original story https://customers.microsoft.com/en-US/story/raygun https://customers.microsoft.com/en-US/story/raygun which I objected to https://twitter.com/aliostad/status/849186214045528064 https://twitter.com/aliostad/status/849186214045528064