Why do CPUs have multiple cache levels?
This is a reader question from “jlforrest” that seems worth answering in more detail than just a single sentence: I understand the need for a cache but I don’t understand why there are …
The latest blog posts to take off on Hacker News. 4,390 posts.
This is a reader question from “jlforrest” that seems worth answering in more detail than just a single sentence: I understand the need for a cache but I don’t understand why there are …
I briefly cover what it takes to start writing a kernel which bootstraps in UEFI, as opposed to BIOS.
On the previous post we showed an excellent presentation by Cliff Click, and one of the things he mentions is that there is performance for ...
Do concurrency bugs matter? From the literature, we know that most reported bugs in distributed systems have really simple causes and can be caught by trivial tests, even when we only look at bugs that cause really bad failures, like loss of a cluster or data corruption. The filesystem literature echos this result …
Suppose you have multiple processes appending output to the same file without explicit synchronization. These processes might be working in parallel on different parts of the same problem, or these might be threads blocked individually reading different external inputs. There are two concerns that come into play:
$ curl ‐‐http2 https://daniel.haxx.se/ curl: (1) Unsupported protocol curl on mac curl has been shipped by default on Mac OS X since many years - I actually couldn't even manage to figure out exactly how many. It is built and bundled with the operating system by Apple itself and on Apple's own terms and even ……
Today I want to talk about an issue I was having with UDP sockets in Go, and how I learned more about my program by making use of two tools that ship with Mac OS X called dtruss, and DTrace.
Soon there will be four years since I started working on AArch64 architecture. Lot of software things changed during that time. Lot in a hardware too. But machines availability still sucks badly. In 2012 all we had was software model. It was slow, terribly slow. Common joke was AArch64 developers …
Today there was a question on /r/C_Programming about the effect of C’s const on optimization. Variations of this question have been asked many times over the past two decades. Personally, I blame naming of const .
ramblings by Adam Perry
I tweeted this the other day, and the internet was not pleased: > HTTPS is slow. No - wait - is it HTTP that's slow?! https://t.co/T49GG7oCaK pic.twitter.com/cfnYOpXMWc [https://t.co/cfnYOpXMWc] — Troy Hunt (@troyhunt) July 8, 2016 [https://twitter.com/troyhunt/status/751317949349130240] In fact, a
As part of the small minority of devs at my company who primarily run Windows, I’m accustomed to working around occasional Unix-specific behaviors in our build and deployment systems. Cygwin makes most stuff just work, I can fix simple incompatibilities myself, and as a last resort I can always boot into OSX for a…
Previously in Jepsen , we discussed Redis . In this post, we’ll see MongoDB drop a phenomenal amount of data. See also: followup analyses of 2.6.7 and 3.4.0-rc3 .
Quick, what’s the difference between these two C/C++ definitions of initialized local variables? char buffer[32] = { 0 };char buffer[32] = {}; One difference is that the first is legal in C a…
In the last Jepsen post, we found that RethinkDB could lose data when a network partition occurred during cluster reconfiguration. In this analysis, we’ll show that although VoltDB 6.3 claims strict serializability, internal optimizations and bugs lead to stale reads, dirty reads, and even lost updates; fixes are now…
Recently there has been a lot of development in realtime data processing systems, including Twitter's Storm and Heron, Google's Millwheel, a...
The goal of Explanations is to try to allow people to play with fun parts of computers. Graphics, compression, audio. The tagline is my biggest inspiration: "Play, don't show", riffing off the typical "Show, don't tell" rule of writers and authors everywhere. Why bother giving a diagram when I give you an inspector…
Your browser doesn't seem to support CSS , which this page uses for all styling. Don't be surprised if it looks kinda boring.
In case you missed it, Marius recently wrote a post on the Pyston blog about our baseline JIT tier. Our baseline JIT sits between our interpreter tier and our LLVM JIT tier, providing better speed…