Hi! I was away from this chat for a while, but now i'm back 😄
@ikitommi i have read your messages about promesa in the history https://clojurians-log.clojureverse.org/funcool/2019-07-05, and yes, promesa has some overhead on top of plain completabe future, just for make it behave in the same way as clojure.core/future
(being aware of current dynamic scope and preserve it on the execution of the chained computation...
Additionally, in 4.0.0-SNAPSHOT, a map'
, mapcat'
and bind'
variants are coming in jvm, that does not dispatches on all computations (uses thenApply
instead of thenApplyAsync
...)
I've been thinking about removing the dynamic scope awareness, and delegate it to user if he need it... but i'm still undecided...
meanwhile, @mpenet did a small wrapper for Java's CP too, https://github.com/mpenet/auspex. Not targetting js thou.
with my journeys with Scala futures, the implicit executor was always a mess. 👍:skin-tone-2: For explicit config.
hmm auspex
looks very similar to the promesa... i think that removing the dynamic scope handling will do absolutelly the same with a very similar api..
bumped promesa 4.0.0-SNAPSHOT
with latest master, includes improvements on the execution model and removing the dynamic binding handling
more details on the changelog and the doc/content.adoc
with that changes, i think the overhead over plain completable future usage will be very small... (i will do some microbenchmark later)