Open patrickt opened 4 years ago
I tried doing this and observed a significant performance regression with keras/keras
. This makes me very sad.
Okay I see what the problem is here: forConcurrently
is not a good solution for us: it does a lot of work per-invocation (creating an MVar
and calling fork
for every item in the provided list). We should do something like set up some concurrent queues.
Now that #614 is taken care of (or will be soon), we need to reexamine our approach to concurrency.
The simplest big win is to change
to
Because
Parse
ends up running anIO
action, we can usemapConcurrently
to perform said operations. Unfortunately, this requires a bit of plumbing; I’ve taken two swings at this and whiffed. Now that alacarte syntax is gone, this might be a good move.