I spent the last few days practicing concurrency and optimization in C++, reading disassemblies and digging a bit into SIMD. After years of Java, going low level feels like the right direction.

For the curious: I looked at Mike Acton's concurrency slides ( and implemented several versions of Increment Problem and River Crossing Problem. Some good resources: Game Engine Architecture book, Abrash's Black Book (for free at, Intel Intrinsics Guide (, of course for disassemblies

@jakub for SIMD: i wrote my own, but when i will have time i think i will use this instead--->

@npisanti For now I want to play with it directly, but if I need a wrapper I will try xsimd :)

@jakub good idea! i really need a wrapper as i run things on both linux64 and ARM (and occasionally all the other platforms)

@jakub also if haven't, you should check out the "Effective C++" books ( I should really get a copy of the "Effective Modern C++", I feel like a bad student )

@jakub might want to have a go at these in rust where they're trivial and fun :D

@_discovery I wrote a bunch of Rust recently and I had a lot of fun! Shirley's Ray Tracing in One Weekend trilogy (parallelized with rayon) and most of Advent of Code.

Most of the bugs I made in C++ could never happen in Rust, e.g. uninitialized memory, reading out of bounds, use after free etc.

That said, I will be probably looking for a job later this year and sadly C++ seems to be the most reasonable choice: there are no Rust jobs around and I don't like to work in enterprise Java.

Sign in to participate in the conversation

Revel in the marvels of the universe.