github / github/codeql

Size of CodeQL binary distribution has almost trippled since 2021

Open
#14,125 1 comment 0 reactions 0 assignees View on GitHub
question
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.