Yes, thats one factor. I did it like I saw it in one of your tutorials... distacne & radius first, bounding box second. As everything is happening very quick I went for distance & radius only. Seems to work fine and reduced lag.
I have some sort of logic- and therefore performance error left. I'm currently checking for bullets every frame for different enemy-categories and the player. That's crap 😉 I'm about now to move that stuff in one global function.
And besides... I was very temped to drop Sparrow for SpriteKit (as my job will demand anyway somewhere in the future) - but - I just like sparrow and the community and you can't compare that to the - somewhat - anonymous apple boards.
So, if I haven't done that in the past, here's my bow to you. You're somewhat like a Grant-Skinner for gamecoding in the obj-c world and I'm very very thankful for your work 🙂