Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 555 posts.
Jails on FreeBSD
We have had Jails on FreeBSD since 4.0 came out 19 years ago in March 2000. This describes how to setup jails on FreeBSD 12 without any helpers.
Wayfire 0.8
Hello everyone! It has been nearly three years since I last wrote to this blog. Fortunately, that does not mean Wayfire’s development has stopped! Quite the opposite, in fact I am happy to announce the release of Wayfire 0.8.0. There have been many changes and plugin API breakages since the Wayfire 0.7.x series, so I…
Make your programs run faster by better using the data cache (2020)
We investigate how the data cache influences the performance of your program, talk about ways for you to write faster programs by better leveraging the data cache.
FreeBSD Bhyve Virtualization
The Bhyve FreeBSD hypervisor (called/spelled ‘beehive’ usually) was created almost 10 years ago. Right now it offers speed and features that other similar solutions provide – such…
Pico Cray – Small scale distributed computing
The Pico Cray is a cluster of 8 Picos and a controller Pico. All Picos are connected in parallel by an I2C bus. The controller is designated by one GPIO being held low, the processor Pico’s addresses are allocated automatically. The Controller Pico has a 320x240px display connected by SPI and a couple of buttons. ……
Windows Protected Print Mode
Over the past year, the MORSE team has been working in collaboration with the Windows Print team to modernize the Windows Print System. This new design,...
ARM vs. Intel on Amazon’s Cloud: A URL Parsing Benchmark
Twitter user opdroid1234 remarked that they are getting more performance out of the ARM nodes than out of the Intel nodes on Amazon's cloud (AWS). I found previously that the Graviton 3 processors had less bandwidth than comparable Intel systems. However, I have not done much in terms of raw compute power. The Intel…
Libreboot 20230423
Libreboot – Libreboot 20230423 released!
Hypervisor from Scratch (2022)
We write about Windows Internals, Hypervisors, Linux, and Networks.
Eclipse ThreadX
TL;DR – Get Engaged! Contact us to learn how to become part of the Eclipse ThreadX Interest Group Contribute to the project and join the ThreadX developer mailing list Stay connected by joini…
Performance excuses debunked
There are many legitimate arguments to be had about performance, but there are also plain old excuses. It's time to end the excuses.
i386 Assembly Language trick for storing data in .text
Don’t want a big old bloated multi-kilobyte executable with a data segment, but you do need to store some data?
Scaling Knative to 100K+ Webapps
Render scaled its Knative infrastructure to handle 100k+ web apps, optimizing Kubernetes for free-tier services and reducing CPU usage to improve network performance.
Writing a bare-metal RISC-V application in D
This post will show you how to use D to write a bare-metal “Hello world” program that targets the RISC-V QEMU simulator. In a future blog post ( now available ) we’ll build on this to target actual hardware: the VisionFive 2 SBC. See blog-code for the final code from this post. For a more complex example, see…
All GB/s without FLOPS – Nvidia CMP 170HX Review
This article contains a basic Nvidia CMP 170HX performance overview, a performance lockdown workaround, a hardware teardown, a watercooling installation guide, and a repair log.
Graceful behavior at capacity
Suppose we’ve got a service. We’ll gloss over the details for now, but let’s stipulate that it accepts requests from the outside world, and takes some action in response. Maybe those requests are HTTP requests, or RPCs, or just incoming packets to be routed at the network layer. We can get more specific later. What…
Hardware Intrinsics in .NET 8
.NET 8 includes significant improvements to the Hardware Intrinsics feature.
A brief history of APFS (2022)
Born secretly on 27 March 2017, it was Apple’s biggest gamble. Introduced in High Sierra, it didn’t work on Fusion Drives and had other problems. Also explains version numbering.
How SerenityOS declares ssize_t
This post explores one of my favorite hacks in SerenityOS. I don’t recommend doing this in your codebase, but it has worked for us so far. :^)
Spotting and avoiding heap fragmentation in Rust applications
One of our Rust services started to show an odd memory profile. This is the story of how we investigated the issue.
ChromeOS is Linux with Google’s desktop environment
Between the Material You design and move to break apart the Chrome browser from ChromeOS, now more than ever, ChromeOS is Linux with Google's desktop environment.
Unwinding the Stack the Hard Way
Tutorial on how to make a stack trace or backtrace manually unwinding the stack using ELF’s .eh_frame and call frame information (CFI)
Memory Copy Hunting
I have a super power. I want to share it in this blog post so that you, my dear reader, also have it!
Tracking Java native memory with JDK flight recorder
As regular readers of this blog will now, JDK Flight Recorder (JFR) is one of my favorite tools of the Java platform. This low-overhead event recording engine built into the JVM is invaluable for …
Large Transformer Model Inference Optimization
[Updated on 2023-01-24: add a small section on Distillation.] Large transformer models are mainstream nowadays, creating SoTA results for a variety of tasks. They are powerful but very expensive to train and use. The extremely high inference cost, in both time and memory, is a big bottleneck for adopting a powerful…