Live data from Hacker News

.NET and Node.JS – Performance Comparison

salmanq.com

61–70 of 119 posts

Re: .NET and Node.JS – Performance Comparison

#61

Until Mono becomes 100% supportable, none of the advantages of .NET outweigh the misery of having to use Windows for development and serving.

What do you mean by supportable? I was happily using mono for a number of custom servers in a similar way a couple of years ago. You don't need any huge frameworks to make mono really useful.

What, you mean, unless you're doing something useful like trying to write a web app?

Re: .NET and Node.JS – Performance Comparison

#63
post #4

The author notes about himself: > I work for Microsoft as a software engineer for Bing in Silicon Valley. My group specializes in building platform and experiences for consumers. ( http://www.salmanq.com/ )

I just want to point out (as a Microsoft employee) that Microsoft is very actively using node.js internally. Many services are already using it and many more are starting projects with it.

I suspect the author did this as an evaluation to see which would work best for a future project, not a teardown piece on the platform. We really love node.js - seriously!

Re: .NET and Node.JS – Performance Comparison

#64
post #42
post #26

Earlier quoted context omitted.

So you are saying that nodejs is slower in general, and .NET is slower when people don't know how to program in .NET. To add on top of that, mvc 4 has extremely easy ways to set up async controllers/tasks. However, these are not needed or even WANTED most of the times. They are only really needed in I/O operations, a sector in which .NET excels anyway since you can get ORM magic happening easily. Also, don't think no…

- Correct. I am saying that nodejs is slower in general. The reason you would use nodejs is to save development time, and not to extract the last drop of performance. It is for the same reason that people have written so many apps on Python and Ruby. - I/O in nodejs is always asynchronous. I/O in typical .Net apps is almost always synchronous, due to programmer choice. This approach is followed in the vast majority o…

Yeah I like the flexibility of nodejs and thats the reason I want to try it. It seems too cumbersome to setup an IIS website etc just to try some simple stuff.

As far as ORM go EF is kind of OK but its not really mature even at its current release. IMO NHibernate is the way to go, and boy its a good way... There are also others that are even faster than NHibernate but its the most fully featured and easily extensible so I just love it

Re: .NET and Node.JS – Performance Comparison

#65
post #48

I posted this comment: "It's obvious that you're new to Node.js. First of all, you should be aware that Async.js is a mere flow-control library. It does not offload work to separate threads, and neither is it able to parallelize work. Internally, it mostly does bean-counting (but very helpfully so). As you can see in the source https://github.com/caolan/async/blob/master/lib/async.js#L35... async.sortBy simply uses A…

meryn this is an opportunity for you to properly design a benchmark and write your own blog post.

EDIT: I meant to imply that most people who write benchmarks usually aren't experts in every language/framework in the comparison, so it would be nice to see someone who is competent in both .NET and in nodejs put together a benchmark.

Re: .NET and Node.JS – Performance Comparison

#67

Until Mono becomes 100% supportable, none of the advantages of .NET outweigh the misery of having to use Windows for development and serving.

Its not only that. For me, Visual Studio, the best single piece of software ever made, should be made available too - which unfortunately probably ain't gonna happen. It just saves so much time and makes the process such a breeze, that it was what converted me to windows to begin with...

Re: .NET and Node.JS – Performance Comparison

#68
I find all the framework comparisons or this technology vs. that technology somewhat interesting, but quite often useless in terms of decision making. Evaluating very specific routines and functionality of framework A vs. framework B is roughly equal to evaluating the performance of carburetors in two racecars. If the only thing I'm interested in is carburetor performance, then I doubt I'm going to win many races.

What comparison do I find useful? The one that incorporates everything my application must address -- db queries, page rendering, cpu activity, memory consumption, operations, maintenance, etc. Given that I need lots of things for my application, single-point comparisons just really don't provide me with much value.

Re: .NET and Node.JS – Performance Comparison

#69
post #48

I posted this comment: "It's obvious that you're new to Node.js. First of all, you should be aware that Async.js is a mere flow-control library. It does not offload work to separate threads, and neither is it able to parallelize work. Internally, it mostly does bean-counting (but very helpfully so). As you can see in the source https://github.com/caolan/async/blob/master/lib/async.js#L35... async.sortBy simply uses A…

Thinking this through some more, using sort with a comparator function would be unnecessary slow. Given the objective of the algoritm (return a median), it's much better to convert the array of strings to an array of floats (or ints, whatever he wants) first.

Re: .NET and Node.JS – Performance Comparison

#70
post #28

A common cause of slowness in .net web app is multiple database round trips during a single request, all happening in sequence. You can write async database calls in .net but they're not the standard / path of least resistance, and by the time you app is hitting these issues, refactoring it all is a big undertaking. The results do not surprise me, but what I find more interesting is how different ecosystems and frame…

With C# 5's async features ... a lot of code can now easily be non-blocking by default. Even making asynchronous actions in asp.net mvc can have an enormously positive impact on server scalability. Just because you can write synchronous/blocking code doesn't limit the power of the platform when it's written using the latest features.
Post reply on HN