spall
2018-1-17 17:01:14

@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!


mflatt
2018-1-17 17:09:15

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?


spall
2018-1-17 17:10:49

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


spall
2018-1-17 17:11:45

And the test created around 1.7 million futures


spall
2018-1-17 17:27:53

@mflatt, is wrap-handler-for-impersonator necessary? or can i remove that as well?


mflatt
2018-1-17 17:29:43

You could remove it, but I think wrap-handler-for-impersonator is unlikely to be slow


spall
2018-1-17 18:10:11

Removing call-with-splice-k as well as the checks didn’t have any readily apparent effect on performance


spall
2018-1-17 18:20:12

@mflatt is it possible to improve call-in-empty-metacontinuation-frame?


mflatt
2018-1-17 18:26:47

I don’t have any immediate ideas there