Usually you make the query to such collisions subsystem, and once the system is back with the answers you needed you can go on and make some decision (like destroy an object or making other queries).
This kind of stuff will run as a pig (I like to say that
) on a SPE, but what if you change your way to see a collisions subsystem.?
You could make a collision engine that collects all the queries per a given frame/pass.Each query is pre-spatially sorted and then processed, re-using a big deal of data (like collision meshes..) on different queries. In a subsequent pass all the results are retired and processed, and this process can be iterated multiple time per frame. This would run much faster on a SPE.
ciao,
Marco