Topics /

Systems & Performance

The most popular blog posts about systems & performance on Hacker News. 555 posts.

2023
301

JIT-optimized Ruby can outperform a C extension

YJIT’s ability to improve performance by adapting to run-time behavior can increase the speed of our code in a way that dropping down to C can’t. As such, I think we should reconsider the common wisdom that “rewriting our Ruby in C” is the ideal path to performance optimization and take a serious look at “rewriting…

304

Faster filesystem access with Directfs

Directfs is now the default in runsc. This feature gives gVisor’s application kernel (the Sentry) secure direct access to the container filesystem, avoiding expensive round trips to the filesystem gofer. Learn more about this feature in the following blog that was originally posted on Google Open Source Blog .

309

SQLite Begin Concurrent

Usually, SQLite allows at most one writer to proceed concurrently. The BEGIN CONCURRENT enhancement allows multiple writers to process write transactions simultanously if the database is in "wal" or "wal2" mode, although the system still serializes COMMIT commands.

310

Threads and Goroutines

So after several years of reading oversimplified and flat out incorrect comments about threads and fibers/goroutines/async/etc and fighting this reaction: I’ve decided to write my own still-over-simplified all in one guide to the difference between a couple popular threads and fiber implementations. In order to…

317

Quicker serverless Postgres connections

Neon’s serverless driver redirects the PostgreSQL TCP wire protocol over WebSockets. This makes ordinary, fully-functional PostgreSQL connections accessible from new environments — including serverless platforms like Cloudflare Workers and Vercel Edge Functions. A key feature of these environments is that state is not…

321

Parsing integers quickly with AVX-512

If I give a programmer a string such as "9223372036854775808" and I ask them to convert it to an integer, they might do the following in C++: std::string s = .... uint64_t val; auto [ptr, ec] = std::from_chars(s.data(), s.data() + s.size(), val); if (ec != std::errc()) {} // I have an error ! // val … Continue reading…

329

Transaction Isolation in Postgres

Ever dealt with glitches in a SaaS platform where your actions don't seem to sync up? That's often a transaction isolation issue in databases. Lets talk about transaction isolation and how they work in Postgres, so you can write reliable and performant code with minimal headache.