Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 190 posts.
An HTTP reverse proxy for realtime
Pushpin makes it easy to create HTTP long-polling, HTTP streaming, and WebSocket services using any web stack as the backend. It’s compatible with any framew...
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.
A Unix Utility You Should Know About: Netcat (2009)
This is the second post in the article series about Unix utilities that you should know about. In this post I will introduce you to the netcat tool or simply nc. Netcat is often referred to as a Swiss Army knife utility, and for a good reason. Just like the multi-function usefulness of the venerable Swiss Army…
600K concurrent HTTP connections with Clojure and http-kit
Edit(2013/1/29): http-kit is a event driven HTTP server & client for Clojure. It’s open source, https://github.com/http-kit
How statically linked programs run on Linux
In this article I want to explore what happens when a statically linked program gets executed on Linux. By statically linked I mean a program that does not require any shared objects to run, even the ubiquitous libc . In reality, most programs one encounters on Linux aren't statically linked, and do require one or…
I now have Rust code for executing executables
Day 45: I now have Rust code for executing executables!
The Bw-Tree: A B-tree for New Hardware
Explore research at Microsoft, a site featuring the impact of research along with publications, products, downloads, and research careers.
Unusual speed boost: size matters
One of my concerns last year was that while WebKit was getting faster on common benchmarks, some operations were getting slower as a byproduct of new features and optimizations.
Writing a FUSE filesystem in Python
If you’re a regular reader, you might have noticed that I’ve been on a quest for the perfect backup program , and ended up writing my own encryption layer over bup.
Valgrind Release 3.9.0
Official Home Page for valgrind, a suite of tools for debugging and profiling. Automatically detect memory management and threading bugs, and perform detailed profiling. The current stable version is valgrind-3.28.0.
Memory Allocators 101
For the last few weeks, I've been working on a couple of patches to tcmalloc, Google's super high performance memory allocator. I'm going to post about them soon, but first I thought it would be cool to give some background about what a memory allocator actually does. So, if you've ever wondered what happens when you…
Call me maybe: final thoughts
Previously in Jepsen , we discussed Riak . Now we’ll review and integrate our findings.
Ubuntu low-memory install for VMs
For those of you who play with virtual-machines like VMware, the Ubuntu server .iso contains an option for dramatically reducing the amount ...
The Go 1.1 scheduler
One of the big features for Go 1.1 is the new scheduler, contributed by Dmitry Vyukov. The new scheduler has given a dramatic increase in performance for parallel Go programs and with nothing better to do, I figured I'd write something about it.
Update on STM
Hi all, A quick update on Software Transactional Memory. We are working on two fronts. On the one hand, the integration of the "c4" C l...
The Raspberry Pi’s Hardware Random Number Generator
Hey! This is a bit old! Things may have changed and I haven’t necessarily fixed them. Most computers can’t create true random numbers. They use a formula which makes a very long stream …
Non-blocking transactional atomicity
tl;dr: You can perform non-blocking multi-object atomic reads and writes across arbitrary data partitions via some simple multi-versioning and by storing metadata regarding related items.
On Layout and Web Performance
Outside of initial page load problems, “layout thrashing” is the most common performance problem I see in dynamic web applications. This is particularly true for Single Page Applications which build and destroy views on the fly. However, I’m often amazed by the number of web developers I run into who are unaware of…