yui/yui3 — pull request #1630 by juandopazo (2014-02-11 18:14:27+00:00)
Title: [timers] Include asap.js as scheduling mechanism for Y.soon

Instead of maintaining a super-performant implementation of our own, I'm including `asap.js` directly using NPM for installing and Shifter for copying the contents of the Node module into the `timers` module.

I think the guys behind Q and its community are doing a great job improving the performance of `asap` and we now have performance tests to keep track of it, so it's probably a good idea to just contribute back to `asap` instead of maintaining our own version.

This version of `asap` includes a `Queue` class that can be useful on its own for replacing the `queue` module, but there are small API differences that would make it a bit hard to just import it. We'd have to actually rewrite it in a similar way, which defeats the purpose of relying on it as a third party module.

The original `Y.soon` API is not changed, only the underlying implementation and a bit of its semantics because some operations may be run in the same turn of the event loop, but this should be almost unobservable.

/ping @solmsted @rgrove