Recent Posts

Old and new function multi-versioning

3 minute read

I have been touching multi-versioning already in two previous articles: Part I, Part II but I wanted to return to this topic once more (and probably not for ...

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 ...