Compressing the discovery cache
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- python
- Bereich
- build-system, performance
Rechercherichtung
Beginne damit, den Code zu finden, der das Dokumentverzeichnis des Discovery-Cache erstellt und liest, und verwende dabei die Cache-Größe von v2.114.0 als Baseline. Vergleiche die verfügbaren Komprimierungsansätze der Python-Standardbibliothek und prüfe, wie der Cache in Docker-Images gepackt wird. Als erledigt gilt die Aufgabe, wenn der Cache bei gleichbleibender Nutzbarkeit durch die Bibliothek deutlich kleiner ist und sich die Build- oder Deploy-Größe verbessert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
#2315 shaved off a bit more than 20MB of the discovery cache, by removing the json indentation.
Currently there's still 74.6MB remaining, and it appears to be growing steadily over time (from 81MB on 2023-03-31 to 94MB on 2024-01-15).
So while #2315 definitely helped, I believe that it's a good idea to consider reducing the size even further. I believe that this could significantly improve build/deploy times of the many docker images that use this library. For reference, the current latest python-slim docker image is less than 50MB.
An easy win would be to use compression.
To illustrate: if I manually zip the entire documents directory of 74.6MB in v2.114.0 using the pop-os default gnome archive manager, I end up with an archive of 11.9MB.
Creating a documents.tar.xz in the same way makes this 4.6MB.
It should be possible to achieve similar levels of compression by using Python's standard compression libraries, e.g. zlib, zipfile, or lzma.
- Vorherrschende Sprache
- Python
- Sterne
- 8.9k
- Forks
- 2.6k
- Ø Merge
- 9 Std. 58 Min.
- Gemergte PRs (30 T.)
- 6
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus googleapis/google-api-python-client
-
Disable prettyPrint by default for Google Sheets API responsesEvtl. vergeben @pawciobiel hat das vor 66 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
googleapis/google-api-python-client#2788 ·
Maintainer antworten meist innerhalb von 1 Tag
-
test: connection leak test test_discovery_http_is_closed is shadowed and syntactically invalidEvtl. vergeben @Capstan hat das vor 142 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
googleapis/google-api-python-client#2757 ·
Maintainer antworten meist innerhalb von 1 Tag
-
test: strict positional parameter enforcement is ignored under pytestEvtl. vergeben @Capstan hat das vor 142 Tagen übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
googleapis/google-api-python-client#2755 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
googleapis/google-api-python-client#2825 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Option to skip per-method docstring generation in build() (memory / high-concurrency)Evtl. vergeben @rootkiller6788 hat das vor 29 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
googleapis/google-api-python-client#2779 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in googleapis/google-api-python-client
Ähnliche Issues
-
Edit tool converts CRLF files to LFEvtl. vergeben @RaphaelFakhri hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
huggingface/tau#774 ·
Maintainer antworten meist innerhalb von 1 Tag
-
show ignores the row limit when a column or table name contains "limit"Evtl. vergeben @RaphaelFakhri hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 2 Tagen
-
documentation good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
eclipse-score/inc_someip_gateway#356 ·
Maintainer antworten meist innerhalb von 2 Tagen