any is implemented to wait for all results before checking the conditions. This means that the execution time is that of the slowest of all events. Instead, it should be implemented to return as soon as the first is done without waiting for the rest. This would change execution time to that of the fastest in the set.