5 ms·
I'm really surprised at the performance of C#... honest no-flame question: how is possible it that Python is beating C#? I've been out of the .NET world for se
by columbo 13y ago
I'm really surprised at the performance of C#... honest no-flame question: how is possible it that Python is beating C#? I've been out of the .NET world for several years, almost a decade, but I always assumed they would be at Java level performance.
edit add: This is really fantastic work
- bhauer 13y agoSome caveats to point out: * Round 6 does not yet use SQL Server. A contributor has provided SQL Server test implementations, but we don't expect to include that until Round ~7 because it will still require some additional work. It is conceivable that the .NET MySQL driver is especially poor. * We do not yet have a test that is expressly heavy computation with no database connectivity. I suspect that C# and .NET would perform reasonably well on such a test (isolating it from its database connectivity). * We do not yet have Windows i7 tests. But performance would likely scale about the same as seen between Linux EC2 to Linux i7. All that said, it's also possible that the ASP.NET implementations of our tests could benefit from additional tuning. We have had a couple subject matter experts give contributions but we'd be happy to receive more.
- iaskwhy 13y agoI guess you need to change the Hardware to "Win" to see it shining.
- TheAnimus 13y agoIndeed, mono performance isn't great. That is the problem with C#, you need ultimately to run it on IIS for web platform deployment, sadly under anything else it is rather slow. Also these tests are a bit unfair, as I think they give benefit in some areas to frameworks that cache by default, rather than by request. Ultimately, what I want to know is total cost, that means hardware, licenses / support agreements, development time, developer ease of hiring. That isn't to say these aren't interesting, but they are rather apples to oranges. As I posted in the other flamebate thread about MS stack > *, I have set a note in my calandar to help improve the example for MVC.Net (https://news.ycombinator.com/item?id=5976540 https://news.ycombinator.com/item?id=5976540). Hopefully I will be able to come then when not in an exclusive agreement, they suck I know, but it pays my mortgage!
- bhauer 13y agoI missed your later reply in that other thread. If the node.js implementation is caching results from the database, it should be modified to not do so. The original implementation did not, but it has seen several updates from node.js SMEs. Can you point to what makes you suspect that it is caching? The requirements do not allow for caching [1]. Future test types (perhaps in Round 7) will allow for caching, but none of the present test types allow for it. [1] http://tewebdev.techempower.com/benchmarks/#section=code http://tewebdev.techempower.com/benchmarks/#section=code
- spamizbad 13y agoEven then it tends to run behind Go and Node.js in most tests. Once Round 7 includes MSSQL we'll see a more accurate picture.
- iaskwhy 13y agoI don't find it a problem seeing it running behind Go and Node.js, I believe C# is another beast so it's a trade-off.
- matdrewin 13y agoJava still beats it on Windows.
- flomo 13y agoI don't see a framework-to-framework comparison. The .NET equivalent to a servlet is a "HTTP Handler"
- nahname 13y agoSomething seems very off indeed. http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=csharp&lang2=java&data=u64q http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...
- Avalaxy 13y agoI was shocked too that ASP.NET MVC performs so poor in all these tests. C# is/can be a very fast language and both C# and ASP.NET support some awesome features that seriously increase the performance of the web app. The whole async/parallellization for example.