boto/botocore — pull request #70 by jamesls (2013-06-28 00:20:02+00:00)
Title: Optimize event emission

This pull request lays some foundation work for subsequent changes for the event system. As new features get added to the event system, I put some work in making the event emission more efficient to offset the cost of these new features. The changes here are:

* Switching from an recursive to iterative lookups.
* Adding fast short circuit when there are no handler registered to an event (common case)
* Removed the internal `_Node` class and just used a dictionary instead. The `_Node` class had no behavior and had no benefits from being an object.

There are no functional changes.