Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. When did Google get so weird? (sancho.bearblog.dev)
    97comments
  2. Ember-1 (fireworks.ai)
    126comments
  3. Alan Kay's answer to "Did the ENIAC have a BIOS"? (quora.com)
    14comments
  4. Show HN: Lofi Cities – Pixel-art city nights with browser-generated lofi (loficities.com)
    30comments
  5. The state of SIMD in Rust in 2026 (shnatsel.github.io)
    7comments
  6. Lunar Terminator Paradox (secretsauce.net)
    —discuss
  7. Imp is a full port of DSPy to the BEAM (github.com/deepfates)
    4comments
  8. What I did at Recurse Center (thill.me)
    5comments
  9. In an $80 motel room, a discovery to shed light on the origins of life (nytimes.com)
    67comments
  10. Don't couple your Go code to GitHub (iain.rocks)
    32comments
  11. Oral history of John Chowning, inventor of FM synthesis [video] (youtube.com)
    4comments
  12. Writing Efficient C++ Code (2013) (asawicki.info)
    70comments
  13. Replacing the old battery on rechargeable bike lights (jvns.ca)
    58comments
  14. Show HN: TinyAIArena watch AI agents battle it out (tinyaiarena.com)
    36comments
  15. The Cartesian Hand: In-Hand Manipulation with All-Linear Fingers (generalroboticslab.com)
    6comments
  16. Fragment of oldest known peace treaty found in Turkey (livescience.com)
    6comments
  17. The Normalization of Inexplicable Failures (ihatethefuture.com)
    85comments
  18. Flip Fluid on Flip Dots (mitxela.com)
    22comments
  19. Kicki: A DECsystem1060 – Interim Computer Museum (icm.museum)
    2comments
  20. Fakecloud: Local AWS cloud emulator for integration tests (fakecloud.dev)
    45comments
  21. John Coltrane Centenary's – Impulse Records Release the Legendary Tiberi Tapes (jazzwise.com)
    6comments
  22. On caring for user data: NeoVim caused Vim undo files to be deleted (aresluna.org)
    280comments
  23. Faster prompt lookup drafting in llama.cpp (jadidbourbaki.github.io)
    7comments
  24. Video CDs Break Windows Explorer (clydesnotes.blogspot.com)
    24comments
  25. Improving site performance by shipping more CSS (github.blog)
    60comments
  26. Show HN: Building a Markdown editor for Mac, iOS and web (markdown.beauty)
    39comments
  27. Allegations of US interference in Quebec election (globalnews.ca)
    9comments
  28. C's Flexible Integer Sizes Were Not a Design Mistake (pikuma.com)
    95comments
  29. Wiki Deep dive into Standard diving dress (wikipedia.org)
    1comments
  30. Go Concurrency Distilled (antonz.org)
    166comments

The state of SIMD in Rust in 2026

43 pointsby 2d agoshnatsel.github.io
7 comments
1h agoHN ↗

Hot take: there is no portable SIMD.

You can either have performance (=write manual ASM for each platform), or portability, but not both.

What so-called "portable SIMD" libraries give you is "portable auto-vectorization". "Portable performance" is a global property of the algorithm. Relying on auto-vectorization will result in e.g. sub-optimal register spills in practice. The microbenchmarks will look great, though. ;)

53m agoHN ↗

there is no portable SIMD

Except in languages with a JIT compiler

42m agoHN ↗

Starts to get a bit philosophical on what constitutes "portable" but JIT compilers would emit an opcode based off of whatever the frontend/IR is saying to do surely?

51m agoHN ↗

What about numpy, numba, and torch.compile?

19m agoHN ↗

Those are manually optimized per arch, aren't they?

46m agoHN ↗

Getting 2x or 4x performance in your inner loops using a reasonable SIMD library is infinitely better than theoretically getting 8x performance with hand-coded nonportable intrinsics, because the latter is never going to happen in most programs, so the actual point of comparison is scalar code, or autovectorized code at best.

31m agoHN ↗

It's a continuum. Some things basically all SIMD implementations support. Want to add 2 4xf32 vectors together? That's pretty easy to do portably.

But yeah to be fair if you are at that point, you probably want to go fully non-portable anyway. Especially with AI.

Has anyone even figured out how to do vector stuff (SVE/RVV) without assembly?