Live data from Hacker News

.NET and Node.JS – Performance Comparison

salmanq.com

51–60 of 119 posts

Re: .NET and Node.JS – Performance Comparison

#51
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…

Node has threads behind the scenes. The average developer can touch them. As a result, you can make 3 async calls with node and you end up only waiting on the slowest. As a result when the slowest returns you've got all the data needed by the controllers/views. Thus your overall system improves. You could do this with ASP.NET MVC if you're not using the databindings on the front end and your willing to make your serv…

Buddy, get a clue pls. What databindings in MVC?? C# 5 support for async is excellent (almost as good as F#), recently Python's Guido said he's gone copy that syntax to Python. I don't know what you mean by normaly, I use it everyday.

Re: .NET and Node.JS – Performance Comparison

#53
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…

> 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 of Asp.Net apps

Nitpick: actually Node lets you do synchronous IO (http://nodejs.org/api/fs.html#fs_fs_readfilesync_filename_op...). Sometimes you can chose to use synchronous IO, for instance to do something in the initialization phase of your server.

Re: .NET and Node.JS – Performance Comparison

#54
post #26
post #20

Earlier quoted context omitted.

It wasn't wrong on many levels. - For very obvious reasons, JS (or Python or Ruby) would be slower than Java, C# at number crunching. - Node.js would handle concurrent connections better than most Asp.Net apps since the framework is non-blocking. Now you could write non-blocking code with .Net, but that isn't how most people write Asp.Net code. OTOH, with Node.js that's the only way you could write an app. - I am imp…

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…

> Also, don't think non-blocking is really non-blocking. What can nodejs when it's waiting for the SQL lock to be lifted? (If there is any)

Node has a queue of stuff in the form of an event/message loop. It simply takes the next thing in the queue or it goes idle. That's why in Node you generally try not to do computational intensive tasks, because they hold the queue and it can't take any new requests.

Re: .NET and Node.JS – Performance Comparison

#57
post #47

Earlier quoted context omitted.

And PHP serves an empty page faster than Go splits strings. I declare PHP the winner by default.

I have bad news: ------------------ % time ./test.go "test1,test2,test3" ["test1" "test2" "test3"] 0.00s user 0.00s system 79% cpu 0.005 total ------------------ % time php -r '' 0.03s user 0.01s system 93% cpu 0.044 total

...and I have good news :-)

    cd ~
    > empty
    php -S localhost:8080
    ## on the other console
    time { echo -e 'GET /empty HTTP/1.1\n\n' | nc localhost 8080 >/dev/null; }
    
    real    0m0.003s
    user    0m0.001s
    sys     0m0.000s

Re: .NET and Node.JS – Performance Comparison

#59
I want to ask several question:

1. How many threads does the .Net Runtime use?

I know little about .Net, but I know C# is like Java. The Jvm with servlet will use many threads to serve, so that many cpu cores will be involved.

However, this is not the case for node. One node process will use just one thread(thought it is not the exact fact).

So it's unfair int programming model.

2. What's the hardware you use, how many cores is there?

Post reply on HN