Those are my favorite catches. It's not that your code is slow, you're just calling it too many times. Every time I've used it on a previously untweaked program, I've had a speed increase by an order of magnitude.
I used to use boundschecker as well. Both are excellent.