Construct 2 already effectively has an extremely fast distance check: it rejects collision checks almost immediately via a bounding box check. (This also means trying to add distance checks yourself in events will likely only slow it down.) The only problem is the number of collision checks made. You really need a huge number of collisions for this bounding box check to start using lots of CPU. Often you can optimise this by filtering with conditions above the collision check. For example an 'Is moving' condition above a 'Is overlapping' condition will only collision check the moving objects, e.g. if you're checking for bumping in to other units, which can cut out the majority of the collision checks right away. And then you can reduce it by another 6x or so by checking every 0.1 seconds instead of every tick and so on.
We will eventually optimise it anyway... it is raised regularly on the forums so we're well aware of the need.