Size of CodeQL binary distribution has almost trippled since 2021
- Lenguaje dominante
- CodeQL
- Estrellas
- 10.1k
- Forks
- 2.1k
- Merge medio
- 2 d 15 h
- PR fusionados (30 d)
- 141
Descripción
**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.
Guía de contribución
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- swift
- Área
- build-system, performance, release
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100