Skip to content

speeding up fetch - #1

Merged
bartman merged 7 commits into
masterfrom
speeding-up-fetch
Sep 4, 2026
Merged

speeding up fetch#1
bartman merged 7 commits into
masterfrom
speeding-up-fetch

Conversation

@bartman

@bartman bartman commented Sep 4, 2026

Copy link
Copy Markdown
Owner
  • Batch and concurrent jday fetches for faster fetch
  • Document batched fetch performance and jrange weeks
  • Add unit tests for batched concurrent fetch
  • Count GraphQL response bytes for transfer stats
  • Add fetch --stats and honor --force over cache
  • Test fetch --stats formatting and --force cache bypass
  • Document fetch --stats output format

Sequential per-date GraphQL requests made `wxrust fetch` take ~19s
for 152 workouts. Pack up to 10 jday selections into one aliased
query and run 8 requests concurrently (~1.2s for the downloads,
~3.4s end-to-end). Tune the HTTP client (idle pool, TCP_NODELAY,
gzip) and skip cached dates by file existence instead of parsing.
Record that jrange range is in weeks (max 32), GraphQL aliases
work for bulk jday, and fetch uses 10-wide batches with
concurrency 8. Note downloadLogs exists but is unused because
JEditorData can diverge from jday cache format.
Cover query builders, cache existence checks, get_jdays_batch
success/error/cache paths, concurrent chunk reordering, and
fetch_command skip/force/network behavior.
Record request count and response body size on each HTTP GraphQL
call so fetch --stats can report MB/s.
Print `X workouts, Y seconds, x.y T/s, x.y MB/s` after the progress
line. --force (and --diff) skip cache reads so already-cached dates
are downloaded from the server again.
Cover transfer-stats output and assert --force still issues a
network jday request when a cache file already exists.
Describe the T/s and MB/s summary line printed after fetch.
@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@bartman
bartman merged commit 55ebb3e into master Sep 4, 2026
1 check passed
@bartman
bartman deleted the speeding-up-fetch branch September 4, 2026 17:00
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

Successfully merging this pull request may close these issues.

2 participants