update go brrr - speed up running time using sparse-checkout #1

Merged
tagl merged 4 commits from update_go_brrr into master 2026-08-30 09:17:15 +00:00
Owner
  • git ls-remote í stað git clone til að atuga breytingar
  • Lágmarka gögn sem og vinnu sem git clone gerir
  • Notast við git sparce-checkout til að sækja þær skrár sem þarf

Það á eftir að laga villu meldingar

Viljum mögulega endurskýra ignore reitinn yfir í eitthvað annað þar sem hann gerir akkúrat öfugt núna, s.s. þetta eigindi heldur utanum þær skrár sem við viljum halda frekar en þær sem við viljum losa okkur við. Heldur þó í sama "gitignore" rithátt og áður.

Clone everything fresh

Benchmark 1: update.py
  Time (mean ± σ):     59.403 s ±  3.082 s    [User: 34.986 s, System: 5.223 s]
  Range (min … max):   56.073 s … 64.984 s    10 runs
 
Benchmark 2: update.brrr.py
  Time (mean ± σ):     18.005 s ±  0.690 s    [User: 6.464 s, System: 1.140 s]
  Range (min … max):   16.762 s … 19.132 s    10 runs
 
Summary
  update.brrr.py ran
    3.30 ± 0.21 times faster than update.py

No commits since last check

Benchmark 1: update.py
  Time (mean ± σ):     60.724 s ±  2.887 s    [User: 32.509 s, System: 5.883 s]
  Range (min … max):   57.378 s … 67.304 s    10 runs
 
Benchmark 2: update.brrr.py
  Time (mean ± σ):      3.079 s ±  0.160 s    [User: 0.174 s, System: 0.054 s]
  Range (min … max):    2.880 s …  3.282 s    10 runs
 
Summary
  update.brrr.py ran
   19.72 ± 1.39 times faster than update.py
- `git ls-remote` í stað `git clone` til að atuga breytingar - Lágmarka gögn sem og vinnu sem `git clone` gerir - Notast við `git sparce-checkout` til að sækja þær skrár sem þarf ~~Það á eftir að laga villu meldingar~~ ~~Viljum mögulega endurskýra `ignore` reitinn yfir í eitthvað annað þar sem hann gerir akkúrat öfugt núna, s.s. þetta eigindi heldur utanum þær skrár sem við viljum halda frekar en þær sem við viljum losa okkur við. Heldur þó í sama "gitignore" rithátt og áður.~~ ### Clone everything fresh ``` Benchmark 1: update.py Time (mean ± σ): 59.403 s ± 3.082 s [User: 34.986 s, System: 5.223 s] Range (min … max): 56.073 s … 64.984 s 10 runs Benchmark 2: update.brrr.py Time (mean ± σ): 18.005 s ± 0.690 s [User: 6.464 s, System: 1.140 s] Range (min … max): 16.762 s … 19.132 s 10 runs Summary update.brrr.py ran 3.30 ± 0.21 times faster than update.py ``` ### No commits since last check ``` Benchmark 1: update.py Time (mean ± σ): 60.724 s ± 2.887 s [User: 32.509 s, System: 5.883 s] Range (min … max): 57.378 s … 67.304 s 10 runs Benchmark 2: update.brrr.py Time (mean ± σ): 3.079 s ± 0.160 s [User: 0.174 s, System: 0.054 s] Range (min … max): 2.880 s … 3.282 s 10 runs Summary update.brrr.py ran 19.72 ± 1.39 times faster than update.py ```
- Check if remote has new commit with git ls-remote before we clone
- Added options filter and no-checkout to git clone
- File filtering handeled through git sparce-checkout
- Inversed ignore field in config (a.k.a list files you want to keep)
kez changed title from WIP: update_go_brrr to WIP: update go brrr 2026-08-30 03:00:33 +00:00
kez changed title from WIP: update go brrr to update go brrr 2026-08-30 09:04:35 +00:00
tagl changed title from update go brrr to update go brrr - speed up running time using sparse-checkout 2026-08-30 09:16:53 +00:00
tagl merged commit 2de88e664e into master 2026-08-30 09:17:15 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
KFFI/keppnir!1
No description provided.