New
The latest blog posts to take off on Hacker News. 6,950 posts.
Why Registers Are Fast and RAM Is Slow
In the previous article on ARM64 , I mentioned that one advantage of the new architecture is the fact that it has twice as many registers, allowing code load data from RAM less often, which is much slower. Reader Daniel Hooper asks the natural question: just why is RAM so much slower than registers?
Firefox OS Update Adds New Features, Performance Improvements
Just weeks after the first Firefox OS phones hit the market, an update is being made available adding new features, support for a number of new languages and significant performance ...
Future instruction set: AVX-512
Software optimization resources | E-mail subscription to this blog | www.agner.org
Memory – Part 4: Intersec’s custom allocators
malloc() is extremely convenient because it is generic. It does not make any assumptions about the context of the allocation and the deallocation. Such allocators may just follow each other, or be separated by a whole job execution. They may take place in the same thread, or not… Since it is generic, each allocation…
Firefox fixes save gigabytes of memory on image-heavy pages
Lots of important MemShrink stuff has happened in the last 27 days: 22 bugs were fixed , and some of them were very important indeed.
ARM64 and You
Ever since the iPhone 5S was announced a couple of weeks ago , the world of tech journalism has been filled with massive quantities of misinformation . Unfortunately, good information takes time, and the world of tech journalism is more about speed than accuracy. Today, as suggested by a variety of readers, I'm going…
TRESOR Runs Encryption Securely Outside RAM
TRESOR is a secure implementation of AES which is resistant against cold boot attacks. The basic idea behind this implementation is to store the secret key inside CPU registers rather than in RAM.
Call me maybe: Cassandra
Cassandra is a Dynamo system; like Riak, it divides a hash ring into a several chunks, and keeps N replicas of each chunk on different nodes. It uses tunable quorums, hinted handoff, and active anti-entropy to keep replicas up to date. Unlike the Dynamo paper and some of its peers, Cassandra eschews vector clocks in…
Scaling Django to 8 Billion Page Views
At more than 8 billion page views per month and 45k requests per second, we’ve learned a couple things about delivering comments at scale.
Why we moved away from AWS
Blippex — a search engine made by the people, for the people
Distributed systems for fun and profit
git , Single page HTML , Kindle .mobi , PDF , .epub , HTML for printing , book cover .
Dropbox disables ASLR on Windows
Dropbox has become a daily part of my life. I rely on it to synchronise data between my growing set of devices. But how much of an impact does it have on the security of my system? I decided to fin…
Why Cassandra Doesn't Need Vector Clocks
Deepening watsonx capabilities to address enterprise gen AI data needs with DataStax.
Why do RET instructions have a REPZ prepended on x86?
Recently, we began work on a binary static analysis tool. While reading some disassembly, we came across a weird-looking instruction, that was present in most everything we gave objdump .
Recycling memory buffers in Go
This blog post is very old now. You probably don't want to use the techniques described here. GO'S sync.Pool is a better way to go.