Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. OpenJev(openjev.com ↗)
    90comments
  2. ZCode, the GLM coding agent, silently uploads your Git history(tokenstead.ai ↗)
    16comments
  3. Microsoft exec called AI scraping 'the largest theft of labor in human history'(techcrunch.com ↗)
    154comments
  4. Jemalloc 5.4.0(github.com/jemalloc ↗)
    53comments
  5. The scourge of x86 emulation(fex-emu.com ↗)
    34comments
  6. Astra for Law(openai.com ↗)
    597comments
  7. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    141comments
  8. Replacing Pull Requests with Delta(zed.dev ↗)
    16comments
  9. Bend – A language that blocks AI mistakes via proof, on CPU and GPU(bend-lang.com ↗)
    238comments
  10. Qwen 3.8 Omni Flash(qwen.ai ↗)
    87comments
  11. Subnormal floating-point numbers are expensive on Intel processors(lemire.me ↗)
    discuss
  12. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    171comments
  13. Wax motor(wikipedia.org ↗)
    74comments
  14. Warren Buffett Steps Down as Berkshire Chairman, Names Son to Replace Him(nytimes.com ↗)
    9comments
  15. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    235comments
  16. When the fractional part of a float fixes your shader(crocidb.com ↗)
    6comments
  17. Pre-Greek: The lost language hidden within Ancient Greek(linguisticdiscovery.com ↗)
    42comments
  18. Dr Julius Neubronner's Miniature Pigeon Camera(publicdomainreview.org ↗)
    discuss
  19. Google illegally retains customer data,and I am taking legal action against them(medium.com/istokovicsgyorgy79 ↗)
    5comments
  20. How to Write with an LLM(sockpuppet.org ↗)
    124comments
  21. A heap overflow and SSO misconfiguration to compromise OpenAI internal repos(hacktron.ai ↗)
    159comments
  22. Shapelearn Qwen 3.8 27B (13.1 GB VRAM)(byteshape.com ↗)
    14comments
  23. Ask A Monk – A digital wilderness for thoughts with no immediate answer(askamonk.online ↗)
    26comments
  24. Flet 1.0 – Build cross-platform apps in Python(flet.dev ↗)
    63comments
  25. Telstra outage: The night a network decided the year was 2006(netnod.se ↗)
    29comments
  26. Speeding up gearhash on ARM64(sam.dev ↗)
    discuss
  27. Diplodocus, Long Thought Exclusively American, Turns Up in Spain(sci.news ↗)
    45comments
  28. The most important product decision is what you don't build(liamnugent.me ↗)
    41comments
  29. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    374comments
  30. How do we prevent mathemathics from devolving into the Medieval Era of secrecy?(mathoverflow.net ↗)
    120comments

Compress objects, not cache lines: an object-based compressed memory hierarchy

84 pointsby 7y agoblog.acolyer.org
9 comments
7y agoHN ↗

Although the authors have designed hardware for this, I can imagine it being used by a language's VM (e.g. the JVM), making use of cache size-aware Zippads.

7y agoHN ↗

I once wrote an interpreter that performed some operation on interpreting a data structure. Because it seems that the interpreter was spending most of its time on interpreting the data structure, I thought it would be a good idea to 'compile' the data structure in code. That resulted in a lot of code, which took a long time to compile, but I was hoping that the compiled code would be much faster. But it turned out to be almost twice as slow. Then if dawned to me: The interpreter and the data structure fitted in the cache, while the compiled code did not.

I bet that in some cases using a dedicated memory allocator that takes care that objects that belong together are stored together, can result in execution improvements. If you using the default memory allocator, it could happen you get pieces of memory far from each other, especially if other threads are also allocating memory or because temporary objects (think string manipulations) are created during the construction of the data structure.

7y agoHN ↗

Adapt a perfectly working machine to a mental crutch instead of learning data oriented design?

7y agoHN ↗

If this means running millions of already written programs more efficiently - yes!

7y agoHN ↗

The question is whether those gates are really best used for this feature. Also, this feature might increase latency and make tens of millions programs run slower.

7y agoHN ↗

It probably can be done generic enough in a cpu, reordering data layouts on the fly using some access and temporal locality tracing like done for caches. Slight memory cost.

Security implications are important though, with programmer nor kernel no longer controlling memory layout.

Initial stages of this are already seen in the various ways of memory interleaving for multiple banks, cores and cpus.

The truly fun part would be speculative as opposed to tracing reordering...

7y agoHN ↗

Compression could potentially help bandwidth, but it isn't going to do anything for memory latency, which is the actual problem. That being said, if compression is part of a CPU cache it could indirectly help, but then I'm not sure how that is going to be done on 'objects' (whatever their definition is).