@TodePond not deriding your solution at all and what I'm about to suggest might not be worth it for your use-caseA problem with dividing sections like this is that if activity is concentrated in a section it ends up being the same as a huge list. You may want to consider a quadtree so this isn't an issue. You'd also have to find the correct bucket size if you *really* care, but just using a number like 32 is often good enough.