It punts that question to how you end up using it. If it lets you avoid blowing out your cache by copying huge arrays all the time, then it's more cache-friendly than using flat arrays. In most use cases you'll end up using chunks that are "big enough". It's definitely possible (unless the VM is doing something very clever) to get yourself into a pathological case where your tree degenerates into a linked list and your performance becomes awful - but that's something you can fix in how you construct your things rather than an inherent problem with the datastructure.