You mean like this?
I guess my computer is a little bit more powerful than yours.
Your example ran at speeds between 70 and 120 FPS.
My changes have upped this to speeds between 350 and 650 FPS.
My bloomers go from the outside to the inside. This makes the bloom effect a little smoother.
Also, I added a check to see if a bloomer is likely to be stuck in a wall, so that the loop can be skipped altogether for that bloomer. This can save huge amounts of time. For instance, of your light-object is behind the hill, it will save 180*42 overlap checks per frame.
I changed the loop to a while loop for greater control over when it will stop looping. I noticed an issue with the while-loop, though. It doesn't work with normal overlap conditions. You need to use the advanced overlap check (in the system object).