You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci: the macOS bundle build takes 75 to 111 minutes since symbols were turned on #363
The optimized bundle build in Native desktop - macOS arm64 took 38m 23s on 2026-11-05 ([optimized]). Since pull request 301 added the symbol profile (strip none, debug line-tables-only, split-debuginfo packed) it has taken 73m 41s (2026-11-07), 109m 51s (2026-11-09) and 106m 41s (2026-11-13), all with a Rust cache hit.
Not known:
how the time splits between the compiler, the link and dsymutil (the job log has no timing inside that phase);
why it grew from about 75 to about 107 minutes after 2026-11-07 (server source grew about 5% in that time).
Suggested first step: one CI run with cargo build --timings on the bundle build and a timestamp around dsymutil, then decide between dependency-level debug = false, split-debuginfo = unpacked with one later dsymutil, or leaving it.
Found while diagnosing the timeouts fixed in #359, which removed the second full build but not this cost.
Measured in pull request 370 (manual full run of the branch, 2026-11-14).
The time is in the compiler, not in dsymutil (seen once, 108 MB) and not in the symbol dump (under 30 s). Locally the symbol profile costs nothing: 1260 s against 1299 s.
The two workspace crates compile on one core with the shipped single codegen unit, and the Rust cache never stores them.
On the macOS arm64 runner (3 cores, 7 GB) free memory stayed near zero for about half an hour and swap in use rose from 33 MB to 975 MB during the build; the same compile holds 8.7 GB or more where memory is available.
With 16 codegen units for bibcode-server and bibcode-desktop in CI only, the bundle build took 59 min 18 s on macOS arm64 (87 min 51 s before, nothing cached both times) and 54 min 53 s on macOS x64 (69 to 101 min before). Release still builds the shipped profile.
Not proven: what exactly doubled the build on 2026-11-06, since this run changed the codegen units too. Memory pressure is the supported explanation. Details: docs/plans/2026-11-14-ci-build-times/research/measured_ci_and_local.md.
Activity
mubeda commentedon Nov 14, 2026
Measured in pull request 370 (manual full run of the branch, 2026-11-14).
dsymutil(seen once, 108 MB) and not in the symbol dump (under 30 s). Locally the symbol profile costs nothing: 1260 s against 1299 s.bibcode-serverandbibcode-desktopin CI only, the bundle build took 59 min 18 s on macOS arm64 (87 min 51 s before, nothing cached both times) and 54 min 53 s on macOS x64 (69 to 101 min before). Release still builds the shipped profile.Not proven: what exactly doubled the build on 2026-11-06, since this run changed the codegen units too. Memory pressure is the supported explanation. Details:
docs/plans/2026-11-14-ci-build-times/research/measured_ci_and_local.md.