Here are the slides for my "Live++: A Bag of Tricks" talk presented at Guerrilla Games last Friday.
Enjoy!

PPTX:
https://liveplusplus.tech/downloads/Guerrilla_Games_2026_Live++_A_Bag_of_Tricks.pptx

PDF:
https://liveplusplus.tech/downloads/Guerrilla_Games_2026_Live++_A_Bag_of_Tricks.pdf

#cpp

@molecularmusing For interning, another thing I sometimes do in addition to sharding is a fixed-size thread-local cache since sharding doesn't help with contention for hot strings that hit the same shard. Another useful trick is to use a tagged representation (e.g. you can store small strings inline via a tagged pointer), so you bypass the data structure entirely; how much this matters depends on the use case (e.g. it can help a lot for identifiers in a compiler).
@pervognsen I did try the usual "7 chars inside an 8-byte pointer" union trick, but storing interned strings with a 4-byte offset instead ended up being faster across large projects.
The TLS cache sounds neat, I should give that a try!