github / github/codeql

Size of CodeQL binary distribution has almost trippled since 2021

Ouverte
#14,125 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
question
Langage dominant
CodeQL
Étoiles
10.1k
Forks
2.1k
Merge moyen
2 j 15 h
PR mergées (30 j)
141

Description

**Description of the issue**

I've noticed that the size of the CodeQL binary distribution only knows one direction - upwards.

2021-04-29: 242 MB compressed, 476 MB uncompressed
2022-12-03: 417 MB compressed, 1.1GB uncompressed
2023-09-04: 541 MB compressed, 1.4 GB uncompressed

Now this is of course somewhat expected as there are new languages being added over the course of time and space is free; expect when it slowly isn't^^
I'm wondering whether there are some easy improvements possible.
For example `fdupes -r -S -m .` in the `tools/`directory results in
```shell
89 duplicate files (in 8 sets), occupying 119.7 megabytes
```
and for example all of these files are identical:

```
4092064 bytes each:
./linux64/lib64__trace
./linux64/lib/x86_64-linux-gnutrace.so
./linux64/lib/x86_64-linux-gnu_xeon_phi_trace.so
./linux64/lib/x86_64-linux-gnu_x86_64_trace.so
./linux64/lib/x86_64-linux-gnu_i686_trace.so
./linux64/lib/x86_64-linux-gnu_haswell_trace.so
./linux64/lib_xeon_phi_trace.so
./linux64/lib_x86_64_trace.so
./linux64/lib_haswell_trace.so
./linux64/lib64trace.so
./linux64/lib64_xeon_phi_trace.so
./linux64/lib64_x86_64_trace.so
./linux64/lib64_i686_trace.so
./linux64/lib64_haswell_trace.so
./linux64/x86_64-linux-gnutrace.so
./linux64/x86_64-linux-gnu_xeon_phi_trace.so
./linux64/x86_64-linux-gnu_x86_64_trace.so
./linux64/x86_64-linux-gnu_i686_trace.so
./linux64/x86_64-linux-gnu_haswell_trace.so
```

The `swift/` subdirectory occupies more than 500 MB; maybe it is possible to try to build some of these binaries with `-Osize` or something similar?
Feel free to close this issue, if you think this is not worthwhile or there are no easy gains.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by inspecting the tools/ directory and the swift/ subdirectory, then run the mentioned fdupes -r -S -m . command to verify duplicate files and their sizes. Compare the compressed and uncompressed distribution contents and identify whether size reductions are feasible; done means a documented, reproducible reduction in distribution size.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
swift
Domaine
build-system, performance, release
Type d'issue
Refactorisation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.