My voxel engine will do a lot of threading. If I used locks, There would be too much contention, Because they all need to access the chunks.
I decided to implement my threaded section using Functional Programming. The problem is, every time a player places a block, It has to rebuild the chunk with the changes applied. I feel like this is too much work for the CPU if lots of blocks get changed quickly.
Is functional programming a good fit for a voxel engine?