Hacker news

  • Top
  • New
  • Past
  • Ask
  • Show
  • Jobs

Performance Improvements in .NET 11 (https://devblogs.microsoft.com)

344 points by soheilpro 5 days ago | 112 comments | View on ycombinator

tiffanyh 3 days ago |

This post was so refreshing to read, because it reminds me of a time of solid engineering & writing in a pre-AI era.

I’m afraid posts like this might become fleeting.

lukehoban 3 days ago |

For anyone who enjoys Stephen Toub’s deep technical articles like this one as much as I do - he also published another post today on migrating the Copilot coding harness from Node.js to Rust. Another great read.

https://github.blog/ai-and-ml/generative-ai/migrating-the-gi...

adzm 5 days ago |

Runtime async is certainly an interesting development. Really excited to see how this plays out.

rsalus 3 days ago |

these blog posts have really turned me into a dotnet evangelist. love the framework & language.

majora2007 3 days ago |

Outside of the outstanding optimizations .net has made (plus async runtime), what I really enjoyed was the reworked entry section. Stephen reiterated all the concepts from the past Performance Improvement articles to really showcase the layers of optimization techniques and how the can transform.

AlexErrant 3 days ago |

Dumb Q: should a non-systems-language dev know/read assembly?

    ; Arm64
    --- .NET 10
    +++ .NET 11
    @@ -13,8 +13,6 @@
                ble     G_M000_IG04

    G_M000_IG03:
    -            cmp     w1, w2
    -            bhs     G_M000_IG05
                str     wzr, [x0, w1, UXTW #2]

    G_M000_IG04:
    @@ -25,4 +23,4 @@
                bl      CORINFO_HELP_RNGCHKFAIL
                brk     #0

    -; Total bytes of code 68
    +; Total bytes of code 60
I know C#/F# decently well, but is there any reason to actually pull out the ol textbooks and learn wtf the above is saying?

Sorrel47 3 days ago |

Always appreciate the continued perf gains. Our existing services just get faster for free, which is a nice win.

pseudosavant 3 days ago |

Very thorough write up. Clearly a lot of performance improvements across their stack. As if it wasn't detailed/long enough already, I would have loved to see some application-level benchmarks that gave a hint of the cumulative performance gains we should expect.

d_finch 3 days ago |

Saw a noticeable startup time boost on a recent project migration. Always appreciate the continued focus on speed.

mlhpdx 3 days ago |

Impressive technical work and authorship. My quibble, which seems significant in context, is what happened with AoT?

testerius 3 days ago |

I remember .NET fails when there were dramas about not open sourced debugger, planning to remove hot reload (make it only available in Visual Studio because of licensing) or poor support in Visual Studio Code compared to other languages. AFAIK many people were angry that VS Code is not first class editor for C#/.NET. I am not sure how it is these days.

momocowcow 3 days ago |

casey muratori would like to have a talk with you about the following :))

    // Approximately what the JIT generates
    if (animal?.GetType() == typeof(Dog))
    {
        ((Dog)animal).Speak();  // devirtualized, inlinable
    }
    else
    {
        animal.Speak(); // original virtual call, hopefully rare
    }

pjmlp 5 days ago |

Ah the traditional browser stress test from the .NET team. :)

Joke aside, yet another interesting read of all little improvements that go across all the runtime, and very much appreciated that they put out the effort to go through this detail level.

dude250711 3 days ago |

C#/.NET are very well-represented in LLM data - from enterprise back-end code to games. A language to use for sure.

gerdesj 4 days ago |

Spinal Tap's "put it up to 11". My laptop (Kubuntu) has volume controls that allow me to override 100% and take it to 150%.

I can wind it up to 15! \||/ (is there an official ASCII art four finger devil's horns)

equasar 5 days ago |

Thanks Stephen for this, it is very rewarding to read something very technical that is not AI slop these days.

ochronus 3 days ago |

As much as Micro$oft is ... subpar, .NET never fails to amaze in the last couple of years. Kudos to the team.

jcon321 3 days ago |

dotnet has been a pleasure to work with the last few years

bjoli 3 days ago |

I hope there will be some kind of runtime async support for the current or a new asyncmethodbuilder. That is amazing work.

anthk 3 days ago |

One of the best perf tests for C# it's to run the Switch emulator against some legal Switch demo game dump.

undefined 4 days ago |

undefined

undefined 3 days ago |

undefined

someguynamedq 3 days ago |

It's long

PrinceJeamvilla 3 days ago |

Please give me a money with 1,0000

kristianp 4 days ago |

[flagged]