There seems to be quite high overhead in the translation between play promises and scala futures. A lot of allocations and indirection.