Speeding up atan2f
`atan2f` is an important but slow trigonometric function. In this article we'll explain how to approximate it, and implement a version 50x faster than `glibc` on batches of inputs.
Topics /
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
`atan2f` is an important but slow trigonometric function. In this article we'll explain how to approximate it, and implement a version 50x faster than `glibc` on batches of inputs.
Stopping a Linux thread is a surprisingly annoying affair. In this post I present common pitfalls and some solutions -- although no truly satisfactory method exists.
When coding a webpage, sometimes you know something is very likely to be needed, even if it's not needed yet. You can give the browser a hint: <link rel=prefetch href=url> The browser will take a note, and then when it doesn't have anything more important to do it might request url. Later on, if it does turn out…
I’ve noticed a small pattern across a few of my projects where I had vectorized and parallelized some code. The original algorithm had a “push” approach, the optimized version instead took a “pull” approach. In this article I’ll describe what I mean, though it’s mostly just so I can show off some pretty videos…
Good judgement is the result of experience ... Experience is the result of bad judgement. — Fred Brooks
The previous post described [motherboards and the memory map] memory-map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair - fun st
Virtualization is a powerful technique for code obfuscation, and reversing it can be challenging. In this post, we cover the work done during an internship on developing an automated devirtualization tool. We explore a simplified taint-based approach and discuss its limitations. For a more in-depth analysis, the full…
“Hey, you. Yes you, that function over there. When you’re cleaning up please remember to restore all of my registers. Yes, that one too – what do you think this is, Linux?”That’s the problem I was …
The {fmt} formatting library is known for its small binary footprint, often producing code that is several times smaller per function call compared to alternatives like IOStreams, Boost Format, or, somewhat ironically, tinyformat. This is mainly achieved through careful application of type erasure on various levels…
Colossus’s performance comes from its stateful protocol, which plays a pivotal role in the new Rapid Storage offering launched at Google Cloud Next '25.
An overview of the PureDarwin project, which is a community effort to produce a more usable version of Darwin OS, the open source base behind modern Mac OS.
Sometimes compilers can surprise and delight even a jaded old engineer like me
multi silicon ai is coming
Sounds great! But what does it mean? seL4 seL4 (pronounced ess-e-ell-four) is arguably the world’s most secure operating system (OS) kernel. The OS kernel is the lowest level of software runn…
Now we will step back a bit and explain how we managed to jump from the browser process into the kernel such that ps4-kexec et al. are usable.
This is the first article out of two where I will go through what I consider to be the relevant Xorg feature set, and compare it, point by point, to how the corresponding solution or category works…
The heap is a data structure that I use all the time and that others somehow use rarely. (I once had a coworker tell me that he knew some code was mine because it used a heap) Recently I was writin…
The TTY subsystem is central to the design of Linux, and UNIX in general. Unfortunately, its importance is often overlooked, and it is difficult to find good introductory articles about it. I believe that a basic understanding of TTYs in Linux is essential for the developer and the advanced user.
Unum builds the Search, Storage, and Networking engines powering the modern data stack. Deployed on 100M+ devices, our technology serves DBMS unicorns and frontier AI labs.
The other day I was implementing multi-threaded stat() calls in bfs . When I ran some benchmarks, I saw something that made my heart skip a beat:
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 …
Event-driven architecture is great, but it can cause a lot of headaches if it is used for the wrong purpose.
I. Introduction
I unlocked Hypervisor.framework on my jailbroken phone and modified UTM, a popular QEMU port for iOS, to run arm64 Linux in a VM at full native speed. …for the clickbait - and to show iPhone’s untapped potential.
Wendelstein 7-X—the leading fusion device of the stellarator type—achieved several new performance milestones during its latest run of experiments. Among them is a world record for triple product, the value that measures how close a fusion device is to generating net energy across the plasma.