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

refactor: allow async for latency sensitive commands #205

Merged
merged 5 commits into from
Oct 17, 2021
Merged

Conversation

drahnr
Copy link
Owner

@drahnr drahnr commented Oct 11, 2021

It turns out, that while maintaining max throughput, latency is far
from perfect. Moving from a max throughput to a min latency model
the user is prompted much much faster with the first output. This is especially important for large~ish codebases and a full run.

For CI where stdout / stderr are piped to files, this also
allows for an improved resource usage pattern.

What does this PR accomplish?

  • 🩹 Bug Fix
  • 🦚 Feature

Ref #104

Changes proposed by this PR:

Make a few commands focus on latency rather than pure compute time needed.

Notes to reviewer:

📜 Checklist

  • Works on the ./demo sub directory
  • Test coverage is excellent and passes
  • Documentation is thorough

@drahnr drahnr changed the title refactor: allow async for latency sensitive refactor: allow async for latency sensitive commands Oct 11, 2021
@drahnr drahnr self-assigned this Oct 12, 2021
@drahnr drahnr requested a review from KuabeM October 13, 2021 07:31
It turns out, that while maintaining max throughput, latency is far
from perfect. Moving from a max throughput to a min latency model
the user is prompted much much faster with the first output.

For CI where stdout / stderr are pumped to file, this also
allows for an improved resource pattern.
The new approach demands that the checkers can hold state to avoid
repeated initialization work.

Prior, this wasn't necessary since the checkers operasted on one giant
document containing all files to check.
@drahnr drahnr added checker generic checker topics enhancement 🦚 New feature or request heavy-duty 🚜 Big features not easy to implement labels Oct 13, 2021
@drahnr drahnr added this to the v0.9.0 milestone Oct 13, 2021
@drahnr drahnr requested a review from laysauchoa October 14, 2021 19:25
Copy link
Collaborator

@KuabeM KuabeM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Brings quite som changes, looks good to me! Keep my somewhat restricted insight into the current codebase :)

@drahnr drahnr merged commit daf89ed into master Oct 17, 2021
@drahnr drahnr deleted the bernhard-async branch October 17, 2021 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
checker generic checker topics enhancement 🦚 New feature or request heavy-duty 🚜 Big features not easy to implement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants