How long does it take to compile LLVM 17 on a Raspberry PI 4

With the imminent launch of the Raspberry Pi 5 I wondered - how long does it take to compile the latest LLVM release (17 at the time of writing this blog) on the Raspberry Pi 4. This will give me a baseline that I can test the Raspberry Pi 5 against once I get ahold of it. For my initial exploration I decided to test just three things: Using the stock Clang compiler I could get at via apt get to compile LLVM.

My Take On Return To Office and Remote Work

The Return to Office episode of one of my favourite podcasts Dithering made me finally decide to post about Remote Work. I’ll be back to my irregular coding posts soon, but I wanted to get this off my chest. Let me get all the caveats out the way - I worked in an office full time for the first five years of my career, and have now been working remotely for nine years.

How costly is changing the hardware rounding mode?

I was looking at hardware rounding modes the other day, and one thing that I realised I had no concept of was how costly is it to change the hardware rounding mode for floating-point operations. For those that don’t know - modern hardware often includes a way to set the rounding mode that floating-point operations use when there is an imprecision in the result of a floating-point operation that cannot be encoded in the format.

New Web Domain & Mastodon Handle

This all started when I wondered what the Mastodon migration process between accounts was like, and ended with me moving my mastodon over to a new handle @neilhenning@mastodon.gamedev.place, and my website over to a new domain https://www.neilhenning.dev/. I remember maybe two or three years into Twitter trying to change my handle over to be my name, and it was already taken. It always irked me that I couldn’t just use my name, but it wasn’t to be.

Using Fibonacci Hashing in hashmap.h

I’ve been noodling a lot with my single header C/C++ hashmap recently - hashmap.h. I knew from reading around that the power-of-two size requirement I had meant that it made getting a bucket location in the range was easy, but that it could result in suboptimal bucket selection. Various places on the interwebs said that using a prime number hash was better as doing the modulus by a prime would give a much better avalanche effect, but this would come at the cost of having to do an actual integer modulus operation for every hash - which is quite a bit slower.