All Rust commits from Facepunch
Grow block allocations exponentially because linearily wastes more buffer space.