I think we don’t need to worry this performance difference. In a typical request, there should be less than 100 events triggered. Also, when you do the above checks, you add additional cost which invalidates your profiling results shown above.
Hm, do ActiveRecords still fire onAfterFind events? I remember the topic Performance Impact Of Behaviors. Basically, le_top ran into performance problems, because he instantiated lots of AR instances and all of them instantiated and attached even more behaviors.
I wouldn’t have ever expected behavior attachment could become a bottle neck, but still it happened. Same goes for events. Who knows how and in which places devs will use events?