Hacker News

Top stories

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

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