HackerTrans
热门最新趋势评论往期问答秀出招聘

andyayers

no profile record

评论

andyayers
·9个月前·讨论
Microsoft | Compiler Engineer, .NET JIT | C++, C# | Redmond WA / Other locations possible

We are a small tight-knit team, happy to both teach and learn new ways of making code run faster.

If you're curious about the kind of work we have been doing recently, check out the JIT section of https://devblogs.microsoft.com/dotnet/performance-improvemen... and or https://github.com/dotnet/runtime/blob/main/docs/design/core...
andyayers
·9个月前·讨论
.NET JIT developer here.

What else would we call it? It is what it is.

I believe there are some differences between what .NET does and what mainstream Java does. For instance, objects can be stack allocated even if they can't be turned into collections of scalars. This allows the JIT to stack allocate small known-sized arrays.
andyayers
·9个月前·讨论
Sometimes, yes.

Linq contains a goodly number of hand-crafted special-case enumerators for common collections, or collections with certain interfaces, or span projections that are really nice optimizations but can complicate things for the JIT.

Some details here if you're curious: https://github.com/dotnet/runtime/blob/main/docs/design/core...
andyayers
·10个月前·讨论
Here is one that has some historical comparison, though it does not show perf on Framework, and no .NET 10 yet.

https://endjin.com/blog/2024/11/how-dotnet-9-boosted-ais-dot...
andyayers
·去年·讨论
HPUX compilers were doing this back in 1993.
andyayers
·去年·讨论
Unfortunately, those improvements don't work for Linq.

Some notes on why this is so here: https://github.com/dotnet/runtime/blob/main/docs/design/core...