Skip to content

g10k has a minimum run time of one second #249

Description

@anarcat

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions