3 ms·
Fast? #lolno
by tempfs 6y ago
Fast? #lolno
- manigandham 6y agoDo you have some evidence or more substantive feedback? Because I can show you the techempower benchmarks which have it in 1st and 3rd place at over 7 million rps: https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=plaintext https://www.techempower.com/benchmarks/#section=data-r19&hw=... I built an adtech platform doing millions of requests in 2010 in dotnet. Then I did it again doing billions of requests in 2012. Nothing else at the time other than java could come close with the same amount of effort.
- oaiey 6y agoTo be fair: .NET (Framework) was not fast in the past. It was not. It was really slow. It was exclusively on Windows, IIS, some worker module, piped through a Webforms optimized System.Web dll and most of that code not optimized for memory usage etc. But that is over with modern .NET Core. Nothing of above is valid anymore and the result is wicked fast as your link shows as evidence.
- aliswe 6y agoOaiey, .NET is not synonymous with WebForms.
- oaiey 6y agoI know. But System.Web has much technical debt it cannot give up because WebForms is still around in the .NET Framework. I would recommend some early talks from Damian Edwards or David Fowler about ASP.NET Core. They are very explicit about that (in the end they build Katana replacing System.Web on .NET Framework to allow a better ASP.NET MVC performance, which lead to Project "K", which lead to (ASP).NET Core). Speaking as one fanboy to another ;)
- manigandham 6y agoThe webforms stuff was slow, but MVC was quicker and has been around for a long time, along with basic HTTP handlers. If you stepped down a 1-2 levels of abstraction, you could get very good performance. But yes, those tricks are now obsolete and the platform is incredibly fast.
- FridgeSeal 6y agoIn the plaintext category, in almost every other category it hardly ranks in the top 20
- davidfowl 6y agoJust wait until .net 5 results show up ;)
- FridgeSeal 6y agoInteresting, are there significant performance fixes in the mix? I always got the impression .net was never particularly performance focused: there were some bits you could use if you wanted to go a bit faster, but it doesn't seem designed from the ground up to be fast, and AoT compilation seems to be perpetually on the back-burner. Compared to other languages like C++ or Rust, which have been built for speed... Edit: changed my comment because it was a bit too argumentative.
- manigandham 6y agoSaying "built for speed" doesn't really mean much. .NET created the async Task model that other languages adopted and has all kinds of performance related features from Span/Memory APIs to SIMD vector operations. AOT doesn't have anything to do with performance but helps with startup time and packaging. The .NET JIT now has tiered compilation with secondary passes that optimize hot methods with much more input about the environment, including knowing that it's a hot path. AOT can't do this. C++ and Rust are faster because they don't have a managed runtime, and Rust's major innovation was moving as much of the memory management into a strong build-time analysis to ensure it's properly access. You can build low-allocation or more manual memory management with .NET and get very similar performance. RavenDB is an example of an fast document database built in .NET Core: https://ravendb.net/ https://ravendb.net/ Your comments are surprising since you seem to have experience F# and other languages and yet it sounds like you haven't used any modern .NET version.
- FridgeSeal 6y ago