Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi commands run slowly #677

Closed
kevsmith opened this issue May 11, 2016 · 3 comments
Closed

Multi commands run slowly #677

kevsmith opened this issue May 11, 2016 · 3 comments
Assignees
Milestone

Comments

@kevsmith
Copy link
Member

kevsmith commented May 11, 2016

The overhead of using a separate container for each command invocation adds between 0.5 and 1 second of overhead to each command call.

This winds up becoming intolerably slow on large pipelines or short pipelines with lots of output.

@kevsmith kevsmith self-assigned this May 11, 2016
@kevsmith kevsmith added this to the Cog 0.6.0 milestone May 11, 2016
@kevsmith
Copy link
Member Author

Example execution:

INFO[2016-05-11T12:05:33-04:00] Docker container 3a8abb4b7c4e ran circle:list for 1.241198 secs.
DEBU[2016-05-11T12:05:33-04:00] Dynamic config not found. Checked: '/Users/imbriaco/.cog/bundle_configs/format/config.yaml' and '/Users/imbriaco/.cog/bundle_configs/format/config.yml'.
INFO[2016-05-11T12:05:33-04:00] Docker container 0fb233c6e814 ran format:table for 0.693150 secs.
INFO[2016-05-11T12:05:33-04:00] (P: c6b06b4ac0d348248c7799114e0b1b19 C: format:table) Accumulated input data in 0.005415896 seconds.
DEBU[2016-05-11T12:05:33-04:00] Dynamic config not found. Checked: '/Users/imbriaco/.cog/bundle_configs/format/config.yaml' and '/Users/imbriaco/.cog/bundle_configs/format/config.yml'.
INFO[2016-05-11T12:05:34-04:00] Docker container 86d78e848140 ran format:table for 0.805931 secs.
INFO[2016-05-11T12:05:34-04:00] (P: c6b06b4ac0d348248c7799114e0b1b19 C: format:table) Accumulated input data in 0.007490317 seconds.
DEBU[2016-05-11T12:05:34-04:00] Dynamic config not found. Checked: '/Users/imbriaco/.cog/bundle_configs/format/config.yaml' and '/Users/imbriaco/.cog/bundle_configs/format/config.yml'.
INFO[2016-05-11T12:05:35-04:00] Docker container de12d8e7294a ran format:table for 0.675244 secs.
INFO[2016-05-11T12:05:35-04:00] (P: c6b06b4ac0d348248c7799114e0b1b19 C: format:table) Accumulated input data in 0.005320507 seconds.

@mpeck mpeck modified the milestones: Cog 0.7.0, Cog 0.6.0 May 13, 2016
@kevsmith
Copy link
Member Author

Made some progress on this issue but more remains to be done. Current potentially shippable code is on go-relay/invocation-endpoints. Code on this branch doesn't cache and reuse containers but it does shut them down asynchronously which saves 0.3 - 0.5 seconds per invocation.

Caching and reuse of containers is proving to be trickier than I expected due to issues around managing container IO. The current state of this work, which is definitely NOT ready to ship, is on go-relay/invocation-endpoints-caching.

@kevsmith kevsmith modified the milestones: Cog 0.8.0, Cog 0.7.0 May 25, 2016
@kevsmith kevsmith modified the milestones: Cog 0.9.0, Cog 0.8.0 Jun 1, 2016
@kevsmith
Copy link
Member Author

PR submitted this morning to operable/go-relay: #17

@kevsmith kevsmith removed the review label Jun 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants