So, when configured with the same featureset as STL promise-futures they are twice faster on clang/GCC, and five times faster on MSVC. Not bad.

As I've said on boost-dev, I want a construct promise - get future - set promise round to fit inside 50 CPU cycles, and therefore become useful for issuing a promise per SHA256 round which is about 480 CPU cycles. These early results are for promise-futures with a superset of STL promise-future features, so they will only get faster. My end goal is a promise-future so lightweight that it is essentially an asynchronous optional<T> i.e. it can carry no exception state at all. I believe that ought to have a reasonable chance of fitting inside my 50 cycle budget.