I was wondering about just how much faster I made it, so I started poking around the lua source code to see how the function garry was using is implemented. I think what he was using is implemented in n log n time, which would mean that the new iteration implementation is ~10x faster.
Of course, that number if off the record and unofficial. I think it's the case here, but it only applies to how quickly the hooks can be iterated over, not how quickly the hooks themselves are called. Still strange that garry didn't do it this way to begin with though.