In my version, I test all the objects vs each others (like if they overlap each other). This would require n^2 checks if all objects are in the same list. If you split the list into several, you can dramatically lower that number. For example, you have no need of testing if two bullets overlap each other. At least not in my game ^^.
Originally posted by glUser3f
I go through the list once every frame to update all the objects, Idon't need to do it more than once, this maybe different for your engine though.