I'm having a performance issue in pathom2 where i have a resolver (resolver A) returning a really large (nested) map. I storing ::p/final true in the metadata of the large map being returned
I'm then pulling the parser out env in another resolver (resolver B), and using that parser to query for A -- i dont have resolve A's return as an input in B because I'm trying to resolve A dynamically.
it seems the first time I call this, i see 2-3 between when resolver A returns and resolver B gets the large map. If i call it twice, i have no performance issue with the second call, so it seems to be some initial processing before storing in the cache.
Because I'm using the parser stored in env , dont believe any plugins are running. any idea as to what would cause this slowdown, or how to fix?
Using Pathom Viz, I get an error for functions that aren’t returning futures.
class java.util.concurrent.CompletableFuture cannot be cast to class clojure.lang.IFn
I’m using the resolver helper (not resolver macro), do I need to tell it if it’s a future or not? Is it all or nothing as far as returning futures?
Are you using com.wsscode.pathom3.interface.async.eql?
Yes. I am using the async EQL. Looks like I found a bug on my end. I was thinking the problem was I needed to tell Pathom that the resolver would return a future, but that wasn’t the issue. Thanks for replying!
Actually the problem still exists in Pathom Viz, it doesn’t seem to use the p.a.eql processor. Locally the queries work fine, that don’t work in Viz.
OK, adding the /parallel? true option to the environment “fixed” Viz, but oddly the queries look rather sequential.