Hi!
This might seem like a trivial concern, but we fire up a bunch of g10k commands in our test suite, and it's kind of slow! I know that g10k is actually really fast in terms of what it does, but I'm now faced with a hard one-second-per-run limit that I can't get rid of otherwise.
A good reproducer is just calling -help:
> time g10k --help 2>/dev/null
________________________________________________________
Executed in 1.01 secs fish external
usr time 0.64 millis 642.00 micros 0.00 millis
sys time 11.93 millis 139.00 micros 11.79 millis
That's a whole second doing essentially ... well, nothing: the total user/sys time there is a couple miliseconds at most.
This seems to be a locking issue similar to #230. The way -help looks, it does seem like something is spinning while threads complete. This, of course, also applies to an empty -puppetfile run:
> /bin/time g10k -puppetfile
Synced ./Puppetfile with 0 git repositories and 0 Forge modules in 0.0s with git (0.0s sync, I/O 0.0s) and Forge (0.0s query+download, I/O 0.0s) using 50 resolve and 20 extract workers
0.00user 0.00system 0:01.01elapsed 1%CPU (0avgtext+0avgdata 31288maxresident)k
0inputs+0outputs (0major+1913minor)pagefaults 0swaps
I understand this might not be a priority, but it seems to me there's something off here. -maxworker doesn't help.
Hi!
This might seem like a trivial concern, but we fire up a bunch of g10k commands in our test suite, and it's kind of slow! I know that g10k is actually really fast in terms of what it does, but I'm now faced with a hard one-second-per-run limit that I can't get rid of otherwise.
A good reproducer is just calling
-help:That's a whole second doing essentially ... well, nothing: the total user/sys time there is a couple miliseconds at most.
This seems to be a locking issue similar to #230. The way
-helplooks, it does seem like something is spinning while threads complete. This, of course, also applies to an empty-puppetfilerun:I understand this might not be a priority, but it seems to me there's something off here.
-maxworkerdoesn't help.