How long until ASP. NET Core reaches number 1 on TechEmpower's Fortunes benchmark? #22094
-
I recently saw a preview of a new round and ASP.NET Core was number one for plain text. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
I look forward to a greater focus on Fortunes. The plain text test is useful as some sort of baseline, to make sure there's no great bottleneck in the process, but on the other hand the way they go fast there reminds me of how Sabine Schmitz brought a van around the Nürburgring under 10 minutes - by removing as much dead weight as possible, and using tricks basically only useful to shave off seconds. (It's funny how many of the tests are marked as having a "realistic approach".) Many optimizations for that test are in the test itself. The optimizations in the framework and Kestrel that the plain text test can make use of are also numerous, but by definition the only ones that matter for that test are the ones in the parts they haven't removed yet. Even if .NET 5 was only in the top 40 on the plain text test, considering how many of the top positions are basically in a statistical tie in saturating the network capacity of the server, it would surely be fast enough. But focusing more on making Fortunes faster and barring tricks to get there would have a lot of impact. Previous efforts has involved creating System.Text.Json, so it's not like nothing has been done. And making the steady state allocation-free probably has a huge impact too. I think the current efforts have shown .NET can go toe-to-toe with native, as long as .NET can defer or pool allocations and avoid GC. I'd gladly trade 10% performance not improved in peak absolute throughput for a 20% faster startup time. |
Beta Was this translation helpful? Give feedback.
-
We're definitely working on improving .NET's results in Fortunes. That is happening up and down the stack (sockets, Kestrel, database drivers, etc). @davidfowl and @roji are the people to ask for more detail. |
Beta Was this translation helpful? Give feedback.
-
Our goal for Fortunes for .NET 5 is to be in the top 10. We hope to achieve this primarily through two areas of improvement:
Current changes in development would place us around #8 based on the most recent runs of TechEmpower. |
Beta Was this translation helpful? Give feedback.
Our goal for Fortunes for .NET 5 is to be in the top 10. We hope to achieve this primarily through two areas of improvement:
Current changes in development would place us around #8 based on the most recent runs of TechEmpower.