I/O is no longer the bottleneck? (part 2)

Nov 30th, 2022

I still wasn't satisfied with the performance of my word counter; it did not show that I/O still is the bottleneck. So I revisited the program, and it's much faster now.

I/O is no longer the bottleneck?

Nov 27th, 2022

Popular belief says the typical bottleneck of programs is I/O. That's one of the reasons slow programming languages like Python can exist, since their slowness is masked by it. But even when writing a simple word count program, it's not trivial to beat the sequential read speed of NVMe disks.

Shared libraries as executables

Aug 20th, 2022

Typically you either have an executable or a shared library, but can you have an executable shared library too?

Stop searching for shared libraries

Aug 4th, 2022

Nix, Guix, Gentoo Prefix and Spack install every package in their own immutable prefix. These prefix directories contain a unique hash derived from the versions and flavors of the package itself and its dependencies, which ensures that multiple variants of the same package can coexist.

The non-standard directory structure makes life hard for the dynamic linker to locate libraries — but what if we don't have to search at all?