Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,947 posts.
Compression efficiency with shared dictionaries in Chrome
Compression on the web is getting a big boost from shared dictionary compression. Learn what they are, how they work, and how they could substantially reduce load times even further than standard compression for both static and dynamic resources on the web.
The death of thread per core
Programming language async runtimes are very focused on handling asynchronous, possibly long running tasks, that might yield for a variety of reasons, that...
Improving the fast inverse square root (2010)
Remember that famous hack for approximating y = x −1/2 from Quake III? It goes like this:
Security: OpenBSD vs. FreeBSD
Blog about network and security, showing example of Linux iptables and Snort configuration, and Windows security softwares.
AWS EC2 Virtualization 2017: Including Nitro
AWS EC2 Virtualization 2017: explaining the different virtualization types, from emulation and binary substitution, paravirtualization and Xen, PV, HVM, and PVHVM modes, and the new Nitro hypervisor
Debian port for RISC-V 64-bit
This is a post describing my involvement with the Debian GNU/Linux port for RISC-V (unofficial and not endorsed by Debian at the moment) and announcing the availability of the repository (still very much WIP) with packages built for this architecture. If not interested in the story but you want to check the…
QUIC at Snapchat
At Snapchat, our goal is to make our Camera the fastest way to share a moment. We do not want Snapchatters to face any delays when they are in the moment and want to share with their real friends.
GC and Exceptions in Wasmtime
The Wasm GC and exceptions proposals are both enabled by default in today’sWasmtime 47 release! We are excited to help bring more languages to WebAssemblyand everywhere that Wasmtime runs. Getting to this point involved large Wasmtimecha...
System design implications of declining network latency vs. disk latency
Hardware performance “obviously” affects software performance and affects how software is optimized. For example, the fact that caches are multiple orders of magnitude faster than RAM means that blocked array accesses give better performance than repeatedly striding through an array.
RethinkDB 2.1.5 performance and scalability
This report describes a recent effort that the RethinkDB team took to measure our database product, RethinkDB, under different workloads and in different clustering configurations. We seek to provide a general overview of RethinkDB’s performance metrics for a variety of workloads and potential use cases. In this…
Lessons learned from profiling an algorithm in Rust
Recently, I've been working on a new approximate nearest neighbor search algorithm called RaBitQ . The author has already provided a C++ implementation that runs quite fast. I tried to rewrite it in Rust (yet another RiiR). But I found that my implementation is much slower than the original one. Here is how I improve…
Why Percentiles Don’t Work the Way We Think
Customers ask us for p99 (99th percentile) of metrics pretty frequently. We plan to add such a feature to Database Performance Monitor (DPM)(more on that later). But a lot of the time, when customers make this request, they have something very specific, and different, ...
Anatomy of a Failed (Nation-State?) Attack
A fake-interview scam tried to backdoor my machine with PinpinRAT, hidden in a malicious TypeScript patch. Analysis of the attack, payload, and indicators of compromise.
Dropping eBPF CPU Cost by About 90% with Memoization (Not AI Gen)
My brother and I spent a lot of time designing our eBPF security agent to be really fast from the ground up, but recently we discovered we could make it much faster using memoization! A couple of weeks ago, I profiled the eBPF code and found that the most expensive part of the protection isn’t actually enforcing a…
Curl 8 Is Faster
First: performance is tricky and bechmarking even more so. I will talk some numbers in this post but of course they are what I have measured for my specific tests on my machine. Your numbers for your test cases will be different. Over the last six months or so, curl has undergone a number of … Continue reading curl 8…
Going where BeOS NetPositive hasn't gone before: NetPositive+
BeOS browser : TLS apocalypse Won't keep it off line. (How do you pronounce BeOS ?) This is a real 133MHz BeBox running otherwise s...
Running Rust on the Rumprun Unikernel
The Rust programming language has been able to run on bare-metal without the standard library for quite some while now. However, most Rust applications depend on the std crate, and therefore still need a full operating system to run.
The Basics of Arm64 Assembly
Just one instruction at a time!
Do-It-Yourself OpenJDK Garbage Collector
Aleksey Shipilёv, JVM/Performance Geek, Shout out at Twitter: @shipilev Questions, comments, suggestions: aleksey@shipilev.net
XTerm: It's Better Than You Thought
A couple months back I switched my terminal from xfce4-terminal to the venerable xterm. For some reason I always put xterm in the same bucket as xclock, xmessage, or any other prehistoric command starting with X that comes pre-installed on any graphical Linux distribution.
Initial Impressions of WSL 2
Soon the Windows May 2020 Update (20H1) will be released upon the world. This update will contain some nice UI improvements, but most relevant to me it allows Web Developers on Windows to upgrade to WSL 2. This is a significant milestone in the #davegoeswindows saga and it’s worth posting about what it means going…