@mflatt, I’ve been trying to improve future performance and it seems that one of the largest performance costs is ‘call-with-continuation-prompt’. Is there room for performance improvement in the delimited continuation implementation? I’m not sure where to begin with this. thanks!
My guess is that call-with-splice-k
isn’t needed for your purposes. I don’t know how much that costs, but you might try a variant without it. In case it’s relevant, how did you determine that call-with-continuation-prompt
is a slow part?
I removed its usage, and runtime on average went from 60 seconds to 30 seconds and (assuming I read dump-memory-stats correctly) there was a significant decrease in memory usage
And the test created around 1.7 million futures
@mflatt, is wrap-handler-for-impersonator necessary? or can i remove that as well?
You could remove it, but I think wrap-handler-for-impersonator
is unlikely to be slow
Removing call-with-splice-k as well as the checks didn’t have any readily apparent effect on performance
@mflatt is it possible to improve call-in-empty-metacontinuation-frame?
I don’t have any immediate ideas there