Follow

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 (cellperformance.beyond3d.com/a) 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 jagregory.com/abrash-black-boo), Intel Intrinsics Guide (software.intel.com/sites/landi), of course godbolt.org/ for disassemblies

@jakub for SIMD: i wrote my own, but when i will have time i think i will use this instead--->
github.com/QuantStack/xsimd

@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
Merveilles

Revel in the marvels of the universe.