Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Reduce Git-source I/O overhead on Docker Desktop bind mounts

Aperta
#93 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
docker, git

Direzione di ricerca

Start with the source-bound 0.9.0 receipt in tests/performance/kernel_git/ and reproduce the pinned 4,100-file fixture, adding the smaller representative and large packed repositories described. Profile the bind-mounted run against an in-container copy, measuring time, RSS, file descriptors, syscall and pack/index behavior. Done means a reproducible dominant-cost profile and either a controlled gain without native Git/directory regressions or documented file-sharing limits and an explicit user choice.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

Git-source reads remain disproportionately slow when a repository is bind-mounted into Docker Desktop on macOS. In the 0.9.0 performance study, a pinned 4,100-file Git fixture took 10.35 seconds inside a Linux container versus 0.20 seconds natively on the same host, using the same 16-worker metrics command. Normalized reports were identical. A full-kernel bind-mounted run was canceled after 147.12 seconds without a report; that run establishes no completion-time ratio.

The native Git path meets the 0.9.0 kernel performance targets. This issue tracks the distinct file-sharing cost, without changing the semantics of --source git or silently substituting the working directory.

Investigation

  • Reproduce against the source-bound 0.9.0 receipt in tests/performance/kernel_git/ and include a smaller representative repository plus a large packed one.
  • Profile syscall counts, read sizes, pack/index access patterns, and time spent across the Docker Desktop mount. Compare with a copy of the same Git object store inside the container to isolate file-sharing overhead.
  • Evaluate bounded batching, buffering, or other storage-layer changes only when output and resource behavior remain controlled. Preserve bare-repository, linked-worktree, alternate-object, cancellation, and cleanup behavior.
  • Measure time, RSS, file descriptors, and exact output before and after. State platform and mount details; do not generalize a macOS Docker Desktop result to all network or bind mounts.

Completion

A reproducible benchmark and profile identify the dominant cost. Any adopted change shows a useful gain on the bind-mounted control without regressing native Git/directory results or changing the selected source's contents. If the bottleneck is primarily external file sharing, document that limitation and an explicit user choice instead of hiding it.

Related: #73.

Lingua principale
Go
Stelle
0
Fork
0
Merge medio
5h 8m
PR unite (30g)
54

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di war-and-code/dircue

Tutte le issue di war-and-code/dircue

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.