Recent Posts

Avx throttling (Part I) - UPDATED

6 minute read

SIMD instruction Modern CPUs contain so-called vector extensions or SIMD instructions. SIMD stands for Single Instruction Multiple Data. For x86-64 CPUs exam...

The one with shrinking structure (Part II)

6 minute read

In the last post we have been looking on to how size of data, specifically packet descriptors, impacts processing performance. As it turns out, reducing data...

The one with multi-versioning (Part II)

5 minute read

In the last post we have focused on popcount operation and function multi-versioning. In this post I show shortcomings of multi-versioning usied with popcnt ...

The one with multi-versioning (Part I)

5 minute read

Introduction In previous post I have described benefits of inlining and surprising impact of some compilation flags using Find First Set as an example. Today...