Rusts derive fügt oft inline hinzu – und bläht Binärdateien auf

Rust's derive often implies inline

In Rust fügen abgeleitete Implementierungen von Traits wie Debug oder Clone automatisch #[inline] hinzu. Das ist meist erwünscht, kann aber bei tief verschachtelten Fehlerhierarchien dazu führen, dass riesige Codemengen in jede Aufrufstelle eingefügt werden. Der Autor entdeckte, dass sich die Binärgröße von uv um etwa 160 KB reduzieren ließ, indem er rustc daran hinderte, eine bestimmte Debug-Implementierung zu inlinen. rustc scheint keine Größenbeschränkung für das Inlining solcher Derive-Implementierungen anzuwenden.

Wir fanden heraus, dass wir die Binärgröße von uv um etwa 160 KB verringern konnten, indem wir rustc daran hinderten, eine bestimmte Debug-Implementierung zu inlinen.

Mehr von diesem Tag

2026-10-07