Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. OpenJev(openjev.com ↗)
    7comments
  2. Jemalloc 5.4.0(github.com/jemalloc ↗)
    42comments
  3. The scourge of x86 emulation(fex-emu.com ↗)
    26comments
  4. Astra for Law(openai.com ↗)
    562comments
  5. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    133comments
  6. Bend – A language that blocks AI mistakes via proof, on CPU and GPU(bend-lang.com ↗)
    222comments
  7. Qwen 3.8 Omni Flash(qwen.ai ↗)
    81comments
  8. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    169comments
  9. Pre-Greek: The lost language hidden within Ancient Greek(linguisticdiscovery.com ↗)
    34comments
  10. Wax motor(wikipedia.org ↗)
    70comments
  11. When the fractional part of a float fixes your shader(crocidb.com ↗)
    1comments
  12. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    232comments
  13. A heap overflow and SSO misconfiguration to compromise OpenAI internal repos(hacktron.ai ↗)
    155comments
  14. Shapelearn Qwen 3.8 27B (13.1 GB VRAM)(byteshape.com ↗)
    11comments
  15. Replacing Pull Requests with Delta(zed.dev ↗)
    2comments
  16. How to Write with an LLM(sockpuppet.org ↗)
    99comments
  17. Ask A Monk – A digital wilderness for thoughts with no immediate answer(askamonk.online ↗)
    24comments
  18. Speeding up gearhash on ARM64(sam.dev ↗)
    discuss
  19. Why Does the Universe Expand?(cosmicave.org ↗)
    56comments
  20. Telstra outage: The night a network decided the year was 2006(netnod.se ↗)
    26comments
  21. Flet 1.0 – Build cross-platform apps in Python(flet.dev ↗)
    58comments
  22. Microsoft exec called AI scraping 'the largest theft of labor in human history'(techcrunch.com ↗)
    3comments
  23. Diplodocus, Long Thought Exclusively American, Turns Up in Spain(sci.news ↗)
    41comments
  24. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    369comments
  25. How do we prevent mathemathics from devolving into the Medieval Era of secrecy?(mathoverflow.net ↗)
    107comments
  26. Apple detectives solved mystery of ancient tree and rewrote the history of fruit(scientificamerican.com ↗)
    10comments
  27. The most important product decision is what you don't build(liamnugent.me ↗)
    39comments
  28. CrowdSec Source Code Leak(crowdsec.net ↗)
    49comments
  29. Fixing an NZXT Signal 4K30 part 2: the green/pink video bug(downtowndougbrown.com ↗)
    10comments
  30. How Uber Protects Against Retry Storms(uber.com ↗)
    42comments

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).