The crate produce very big binary size
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- rust
- Área
- performance
Línea de trabajo
No se nombran archivos fuente ni pruebas. Reproduce las mediciones de la compilación de release con cargo bloat --release --crates y cargo bloat --release -n 10; después, inspecciona las entradas repetidas miniscript::miniscript::decode::parse y la entrada descriptor::csfs_cov::cov. El issue no define un tamaño objetivo ni una prueba de aceptación, por lo que es necesario aclarar la reducción deseada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Rust
- Estrellas
- 15
- Forks
- 17
- Merge medio
- 19 h 36 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ElementsProject/elements-miniscript
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
ElementsProject/elements-miniscript#107 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
ElementsProject/elements-miniscript#80 · 4 comentarios ·
-
Can this test be uncommented?Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
ElementsProject/elements-miniscript#72 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 45/100
ElementsProject/elements-miniscript#38 · 2 comentarios ·
Todos los issues de ElementsProject/elements-miniscript
Issues similares
-
type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
stackabletech/kafka-operator#1033 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 3 días
-
docs: release notes v3.7.0–v3.8.0 footer links to README/CHANGELOG are broken after docs reorgAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
farion1231/cc-switch#7744 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
datafusion
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
apache/iceberg-rust#3297 ·
Los mantenedores suelen responder en 1 día