3 ms·
Not GP, but can confirm on my M3 Max using the hello world sample: $ time dotnet run hello-world.cs > /dev/null real 0m1.161s user 0m0.849s sys 0m0.
by bouke 1y ago
Not GP, but can confirm on my M3 Max using the hello world sample:
$ time dotnet run hello-world.cs > /dev/null
real 0m1.161s
user 0m0.849s
sys 0m0.122s
$ time dotnet run hello-world.cs > /dev/null
real 0m0.465s
user 0m0.401s
sys 0m0.065s
- masfuerte 1y agoThis is nuts. More than a decade ago Microsoft made a big deal of startup optimisations they had made in the .Net framework. I had some Windows command-line apps written in C# that always took at least 0.5s to run. It was an annoying distraction. After Microsoft's improvements the same code was running in 0.2s. Still perceptible, but a great improvement. This was on a cheap laptop bought in 2009. I'm aware that .Net is using a different runtime now, but I'm amazed that it so slow on a high-end modern laptop.
- thatnerdyguy 1y agoTo be fair, this is timing early bits of a preview feature. Compiled .NET apps have much better startup perf.
- toyg 1y agoThey are not on Windows. As someone else pointed out, there are very likely Apple-specific shenanigans going on.
- doomroot13 1y agoThis is also a preview feature at the moment. They mention in the embedded video that it is not optimized or ready for production scenarios. They release these features very early in preview to start getting some feedback as they prepare for final release in November.
- viraptor 1y agoIf you're trying things like that in a Mac, watch out for the notary check delay https://eclecticlight.co/2025/04/30/why-some-apps-sometimes-launch-extremely-slowly/ https://eclecticlight.co/2025/04/30/why-some-apps-sometimes-... It can easily add hundreds of milliseconds in various situations you can't easily control.
- jaredpar 1y agoThere are a lot of optimizations that we plan to add to this path. The intent of this preview was getting a functional version of `dotnet run app.cs` out the door. Items like startup optimization are going to be coming soon.
- evntdrvn 1y agomaybe it's worth adding that info to the blog post :) thanks Jared and team, keep up the great work.
- jbverschoor 1y agoI’m not really into the whole dotnet space. Except during the beta early on BSD ‘00. It’s good that it allows scripts to run, and does packages. Simple is good I was just curious and then surprised that it already caches compiled binaries, but that the time remained the same.
- Kuinox 1y agoI opened an issue since I couldn't find docs that indicate what they were working on to improve the start time, and they replied: https://github.com/dotnet/sdk/issues/49197 https://github.com/dotnet/sdk/issues/49197
- Kuinox 1y agoAh, I didn't managed to find something that talked about what was planned for this, so I opened an issue asking for that. Is there a doc somewhere talking about it ?
- deleted 1y ago[deleted]
- bouke 1y agoFor comparison, skipping dotnet run and running the compiled program directly: time "/Users/bouke/Library/Application Support/dotnet/runfile/hello-world-fc604c4e7d71b490ccde5271268569273873cc7ab51f5ef7dee6fb34372e89a2/bin/debug/hello-world" > /dev/null real 0m0.051s user 0m0.029s sys 0m0.017s So yeah the overhead of dotnet run is pretty high in this preview version.