# JPEG Decoding Benchmark

### Safe for work edition

What's this bullshit? A picture of bananas!? They aren't even RIPE!!! You didn't sign up for this crap when you clicked on the article did you? Stay calm; everything shall be explained shortly.

### Background story

We must go back in time by about 10 years to the beginning of the story. It was a fine autumn . . .

July 30, 2018

# Software Rasterizer

### Testing a vector math library with fun hobby project

It is a completely different to think that the code you are writing is not generating bad code and it not actually generating bad code. You want to be sure so you have to give the code real data to transform. I am not one of those people with great imaginations so I decided that I will write a software triangle rasterizer.

Having . . .

March 28, 2018

# Compilers and SIMD

### The love story

Compilers are pretty cool these days; they can auto-vectorize your scalar code! All you need to do is write code in such a way that the compiler can show you who's the boss.

Here's a simple example:

struct float32x16
{
float v[16];
};

float32x16 compute(float32x16 a, float32x16 b)
{
. . .

March 20, 2018

# SIMD Scalar Accessor

### How to make the type system work for you.

One day you find yourself writing code for a C++ vector math library. Of course, it is written with templates so that you can parametrize the scalar type and vector dimensions. You will have something like this:

template <typename ScalarType, int Size>
struct Vector
{
ScalarType data[Size];
};


It can't . . .