It is currently always O(n^2). The only reason it has not been a major issue so far is that complex event regions are rare. It is possible to do much better in most scenarios.
We're going to be using them for wheel events too, so fixing this will be good!