Latest Posts

Navigating the Software Engineer Interview

Conducting interviews recently for hiring for one of my teams has left me with some thoughts and tips for candidates navigating software engineering interviews.

Performance impact of C++ Memory Order vs x86 Strong Ordering

I try to answer the question: Given that x86 has strong ordering is there any point from a performance perspective to using anything other than the C++ sequentially consistent memory ordering?

Linux perf: a quick primer to application profiling

Recently, I was asked to give a demo to the team on how to use perf to profile applications. Here are the notes for that.

Aeron Latency at Lower Throughputs

A look at the significant influence that configuration has on Aeron’s performance depending on use-case, and the importance of not just relying on the default configuration.

Go vs C++ Atomics Performance

Here I use two of my implementations of lockfree SPSC (single producer single consumer) ringbuffers to compare atomics performance between Go and C++.

Useful Linux Commands for System Management

I often find myself using these commands to get detailed information about a system’s hardware or manage system’s resources. I will probably update this list as I think of more.

Performance impact of Kernel Security Mitigations

Linux Kernel security mitigations protect systems from hardware security vulnerabilities, but they often come at the cost of performance. In this article, I will note possible performance impact of kernel mitigations, particularly in the context of Docker.

Building Custom Ubuntu Kernels

Here is a simpler and slightly more automated version of building kernel configs.