Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Training a 4B model to produce 81% faster query plans than Postgres(rohanbansal.com ↗)
    66comments
  2. Breaking the 1.58-bit Barrier for Ternary LLMs(arxiv.org ↗)
    9comments
  3. Nvidia announces native GPU programming in Rust(nvidia.com ↗)
    37comments
  4. Xiaomi Mimo 2.6 live post-training dashboard(xiaomi.com ↗)
    51comments
  5. Backups Aren't Simple(filipovski.net ↗)
    9comments
  6. OpenSpec – A lightweight and configurable AI spec framework(openspec.dev ↗)
    1comments
  7. Small programming tricks(will-keleher.com ↗)
    173comments
  8. The engineering behind the US Strategic Petroleum Reserve(johnjwang.com ↗)
    5comments
  9. Reversing Factorio's RNG(gegell.github.io ↗)
    11comments
  10. Performance Improvements in .NET 11(devblogs.microsoft.com/dotnet ↗)
    22comments
  11. AWS says it can't restore some data from mideast facilities struck by Iran(wsj.com ↗)
    141comments
  12. Australia says it could follow Canada in forging deeper ties with EU(independent.co.uk ↗)
    2comments
  13. Accurate Models of AMD Matrix Cores(arxiv.org ↗)
    6comments
  14. Reverse-engineered Jev-like model(github.com/vinnylarouge ↗)
    7comments
  15. Japan's book scene is moving from bookstores to libraries(untranslatedjp.substack.com ↗)
    26comments
  16. How good are frontier models at physics?(arxiv.org ↗)
    25comments
  17. Show HN: An e-ink frame that hears birds and draws them as 1800s illustrations(github.com/arnegiacomo ↗)
    236comments
  18. Mistral X Mozilla: Private, Multilingual AI Browsing(mistral.ai ↗)
    182comments
  19. Dream-RSI: Recursive Self-Improvement through Evolving Worlds(arxiv.org ↗)
    49comments
  20. Anatomy of a Texture(agentlien.github.io ↗)
    12comments
  21. Anecdotally, programmers dislike "reduce"(evanhahn.com ↗)
    123comments
  22. WalShadow: Sub-second Postgres replication to ClickHouse from physical WAL(clickhouse.com ↗)
    5comments
  23. Training Text-to-Image Models 3.6× Faster(linum.ai ↗)
    1comments
  24. Hackers Got Inside a Flock Camera(wired.com ↗)
    208comments
  25. Vectorized and performance-portable Quicksort (2022)(googleblog.com ↗)
    25comments
  26. The DeepMind Institute(deepmind.com ↗)
    43comments
  27. Why Does the Universe Expand?(cosmicave.org ↗)
    1comments
  28. I replaced my brown-noise browser tab with a menu bar app(oldmanrahul.com ↗)
    discuss
  29. Kyber (YC W23) Is Hiring a Forward Deployed Engineer(ycombinator.com ↗)
    discuss
  30. Destroy After Reading: photocopiers,cheap paper and DIY gave metal it's look(truegrittexturesupply.com ↗)
    1comments

Performance Improvements in .NET 11

123 pointsby 1d agodevblogs.microsoft.com
22 comments
1d agoHN ↗

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.

1d agoHN ↗

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

1d agoHN ↗

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

1h agoHN ↗

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)

15m agoHN ↗

I stared at my keyboard for bloody ages and came up with || instead of m.

nob end!

1h agoHN ↗

The sections that follow are full of real improvements. A bounds check removed, an allocation that no longer happens,

Annoyingly the.net blog seems to have started to use LLMs to write their copy. Using "real" twice in one paragraph - do LLMs do that? Lots of commas is a tell for me.

This is a long one. It’s meant to be. Grab your hot beverage of choice, settle in, and let’s turn it up.

Ugh.

1h agoHN ↗

These comments about potential LLM usage are so boring. Stephen is doing this kind of blog post since 6+ years. They all look the same. Read it! It’s very good. Performance deep dives with this kind of quality are rare.

1h agoHN ↗

Not too sure here. I use quite a few commas, too.

I suspect it was done old school: Written by Stephen and passed to a LLM to fill in all those links and other garnish and then passed back for final polish by Stephen. That's how I do my write ups (but generally without the LLM bit for shorter efforts).

This is a long write up, and I'm sure it will have been assisted, but in the right way, and not a sloppy way.

I've dropped several commas before conjunctions, soz!

46m agoHN ↗

FWIW the .NET 10 release also had 2 occurrences of "real" in literally the first paragraph.

I, too, tire of the constant YOU WROTE THIS WITH LLMs outrage. An incredible engineer dumped an ENORMOUS amount of technical knowledge at your feet, and you're commenting on the smell? Is that all you have to contribute?

I saw this too on the Ryan Carniato/SolidJS 2.0 announcement post. A world-class engineer makes a great blog post, and all the comments can focus on are the LLM-smells. Oh well. Any reason not to learn, I guess.

47m agoHN ↗

This is the loudest release of .NET to date(!)

45m agoHN ↗

For some people LLM-spotting feels like a sport they need to compete in

39m agoHN ↗

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?

33m agoHN ↗

No. If you're a low-level C language programmer then it is useful.

25m agoHN ↗

You don’t need to, but if you ever want to really optimise some code, understanding what it turns into on the target CPU really helps. Especially if you know the implications for any particular instruction (cost of memory access, branch prediction misses, etc)

The three* letter mnemonics are usually pretty easy to decode, even if you don’t know the architecture: anything beginning with ‘B’ will be branch, so ‘ble’ is branch if less than or equal. L and S based mnemonics are unusually Load and Store from and to memory. After that it’s understanding the stack and registers and you’re pretty much good to go.

Everything in assembly is loading something from memory into registers doing something basic with those registers, like add/divide/etc and then putting the result back into memory or using the result to make a decision to jump to processing instructions from another place in memory.

Most devs won’t ever need to know this stuff, but as someone who grew up with computers that could barely do anything without grinding to a halt (8bit computer, 2mhz processor, 32kb of RAM, 20kb of which is for the screen), knowing this stuff was essential, but I still find this stuff useful today, even with my C# work.

But I am a bit of a performance tuning nerd, so..

[*] or more

29m agoHN ↗

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

26m agoHN ↗

AoT is still a thing. Presumably a lot of the JIT improvements would also improve the generation of AoT-compiled code.

17m agoHN ↗

I hope that’s the case but I’d feel a lot better to see it in print.

23m agoHN ↗

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

5m agoHN ↗

Flip side: LLMs have to be very explicitly told to code in "modern" .NET and C# due to lack of representation in the training set.

Case in point: extension members from C# 14 is one that LLMs commonly stumble on and requires an explicit example. It still sometimes says that this is not valid syntax.

    extension(SomeType instance)
    {
        public OtherType DoSomething() { ... }
    }

Agents really struggle on this one for some reason.

Even older releases have a few that I notice LLMs making mistakes on like use of `System.Threading.Lock` over `Object` when locking.

3m agoHN ↗

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