Old and new function multi-versioning
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 ...
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 ...
SIMD instruction Modern CPUs contain so-called vector extensions or SIMD instructions. SIMD stands for Single Instruction Multiple Data. For x86-64 CPUs exam...
In the previous post we have been looking on various, sometimes intrusive and complicated methods of compacting data structures for providing better memory a...
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...
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 ...
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...
Introduction At some point in the project I’m working on, I have noticed that variable-size bit set implementation is minor, but still performance bottleneck...
Few updates from second day of Open Source Summit in Lyon.
Here are some first thoughts after day one of Open Source Summit in Lyon.
Nowadays real-world applications of C++ gets smaller and more specialised every day. It was decided almost by acclamation that business logic in new projects...
There is nothing simpler than merging two sorted vectors of integers, right? Well, it gets difficult when required performance is in hundreds of millions int...
Planning to give it a try and find some use cases in processing high volume network traffic. Building packet descriptors from packet stream maybe?