Version 6.3.0
This release re-adds support for asynchronous hooks with an emphasis on maintaining performance wherever possible by minimizing the number of round-trips to the event queue in situations where the functionality is not used.
To make use of asynchronous hooks, your implementations should return a promise object which resolves once your hook has completed. Take a look at the documentation for more information on how to do so.
Performance considerations
When using async hooks, the best way to ensure good performance is to make sure that you return a Bluebird
promise object, this allows Iridium's internal implementation to simply pass the promise through and removes the overhead of needing to wrap the promise beforehand.
Additionally, if you are not making use of a hook, it is better to remove the method definition than it is to leave it there, as doing so will allow Iridium to skip calling it and therefore avoid the context-switch overhead of a method call.