Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

The crate produce very big binary size

Aperta
#69 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
performance

Direzione di ricerca

Non vengono indicati file sorgente o test. Riproduci le misurazioni della build di release con cargo bloat --release --crates e cargo bloat --release -n 10, quindi esamina le voci ripetute miniscript::miniscript::decode::parse e la voce descriptor::csfs_cov::cov. L'issue non definisce una dimensione obiettivo né un test di accettazione, quindi è necessario chiarire la riduzione desiderata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Just wanted to report that in a downstream lib elements-miniscript is the biggest contributor in binary size, maybe because it uses a lot of generics:

$ cargo bloat --release --crates
 File  .text     Size Crate
 9.6%  29.9%   1.9MiB elements_miniscript
 6.7%  21.0%   1.3MiB wollet
 4.2%  12.9% 833.4KiB std
 1.9%   6.0% 388.4KiB elements
 1.8%   5.7% 365.4KiB serde_cbor
 1.6%   5.1% 328.8KiB [Unknown]
 1.3%   4.1% 266.4KiB rustls
 0.9%   2.9% 185.3KiB ring
 0.7%   2.1% 138.5KiB electrum_client
 0.4%   1.2%  78.0KiB simplicity
 0.3%   1.0%  65.9KiB serde_json
 0.3%   1.0%  64.2KiB bitcoin_hashes
 0.3%   0.8%  53.0KiB signer
 0.2%   0.7%  43.7KiB bitcoin
 0.1%   0.4%  26.9KiB uniffi_core
 0.1%   0.4%  26.1KiB secp256k1_sys
 0.1%   0.4%  25.0KiB miniscript
 0.1%   0.4%  24.7KiB ks_bindings
 0.1%   0.3%  19.3KiB secp256k1_zkp_sys
 0.1%   0.3%  17.2KiB bip39
 0.6%   2.0% 129.8KiB And 41 more crates. Use -n N to show more.
32.2% 100.0%   6.3MiB .text section size, the file size is 19.6MiB
$ cargo bloat --release -n 10
 File  .text    Size               Crate Name
 0.2%   0.7% 45.6KiB elements_miniscript elements_miniscript::miniscript::decode::parse
 0.2%   0.7% 44.7KiB elements_miniscript elements_miniscript::miniscript::decode::parse
 0.2%   0.7% 44.7KiB elements_miniscript elements_miniscript::miniscript::decode::parse
 0.2%   0.7% 44.2KiB elements_miniscript elements_miniscript::miniscript::decode::parse
 0.2%   0.7% 43.2KiB elements_miniscript elements_miniscript::miniscript::decode::parse
 0.2%   0.7% 43.2KiB elements_miniscript elements_miniscript::miniscript::decode::parse
 0.2%   0.7% 42.7KiB elements_miniscript elements_miniscript::miniscript::decode::parse
 0.2%   0.5% 32.4KiB              wollet wollet::clients::BlockchainBackend::full_scan
 0.2%   0.5% 32.2KiB elements_miniscript elements_miniscript::descriptor::csfs_cov::cov::Le...
 0.1%   0.4% 22.9KiB            elements <elements::transaction::Transaction as elements::e...
29.8%  92.4%  5.8MiB                     And 11982 smaller methods. Use -n N to show more.
32.2% 100.0%  6.3MiB                     .text section size, the file size is 19.6MiB

Lingua principale
Rust
Stelle
15
Fork
17
Merge medio
19h 36m
PR unite (30g)
1

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ElementsProject/elements-miniscript

Tutte le issue di ElementsProject/elements-miniscript

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.