Posts by Tag

performance

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

The one with compiler flag magic

4 minute read

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

The one with shrinking structure (Part I)

5 minute read

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

Back to Top ↑

C++

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

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

The one with compiler flag magic

4 minute read

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

The one with shrinking structure (Part I)

5 minute read

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

Back to Top ↑

cache

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 shrinking structure (Part I)

5 minute read

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

Back to Top ↑

compilers

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

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

The one with compiler flag magic

4 minute read

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

Back to Top ↑

bitset

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

The one with compiler flag magic

4 minute read

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

Back to Top ↑

research

Back to Top ↑

events

Back to Top ↑

Packet Processing

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

Back to Top ↑

packet processing

The one with shrinking structure (Part I)

5 minute read

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

Back to Top ↑

CPU

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

Back to Top ↑

glibc

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

Back to Top ↑

simd

Back to Top ↑