Skip to content

Duplicated crates: Tracking Issue #8547

@macladson

Description

@macladson

Description

This is a tracking issue for crates in Lighthouse where we have to compile multiple versions. I'll try to keep this updated as things change.

Worst 10 duplicate crates by compile time

Using cargo build --release --timings I extracted the following data:

Rank Crate Version Compile Time Wasted Time Dependants
1 rustls v0.22.4 12.6s 12.6s tokio-rustls
v0.23.35 futures-rustls, hyper-rustls, libp2p-quic, libp2p-tls, quinn, quinn-proto, reqwest, tokio-rustls
2 h2 v0.3.27 7.7s 7.7s hyper
v0.4.12 hyper
3 hyper v0.14.32 6.9s 6.9s warp
v1.8.1 beacon_node, hyper-rustls, hyper-timeout, hyper-tls, hyper-util, igd-next, mockito, reqwest, tonic, validator_client
4 darling_core v0.13.4 2.0s 3.9s darling, darling_macro
v0.20.11 darling, darling_macro
v0.21.3 darling, darling_macro
5 syn v1.0.109 3.8s 3.8s compare_fields_derive, context_deserialize_derive, darling_core, darling_macro, match-lookup, metastruct_macro, neli-proc-macros
v2.0.110 alloy-rlp-derive, alloy-sol-macro, alloy-sol-macro-expander, alloy-sol-macro-input, alloy-tx-macros, asn1-rs-derive, asn1-rs-impl, async-stream-impl, async-trait, auto_impl, clap_derive, curve25519-dalek-derive, (+36 more)
6 rustix v0.36.17 2.6s 2.6s procfs
v1.1.2 tempfile, terminal_size
7 itertools v0.10.5 1.3s 2.6s beacon_chain, beacon_node_fallback, beacon_processor, lighthouse_network, metastruct_macro, network, operation_pool, state_processing, store, types
v0.13.0 ethereum_ssz, milhouse, superstruct
v0.14.0 alloy-rpc-types-eth, compare_fields, eip4844, ekzg-single-open, prost-derive, ssz_types
8 rustls-webpki v0.102.8 1.9s 1.9s rustls
v0.103.8 libp2p-tls, rustls
9 http v0.2.12 1.5s 1.5s h2, headers, headers-core, http-body, hyper, warp
v1.3.1 alloy-json-rpc, attohttpc, h2, http-body, http-body-util, hyper, hyper-rustls, hyper-util, igd-next, mockito, opentelemetry-http, opentelemetry-otlp, (+3 more)
10 hashbrown v0.14.5 560ms 1.1s dashmap, hashlink
v0.15.5 hashlink, lru
v0.16.0 alloy-primitives, indexmap
11 nix v0.24.3 1.1s 1.1s psutil
v0.26.4 rtnetlink
12 sha2 v0.10.9 1.1s 1.1s alloy-eips, ed25519-dalek, eip4844, ekzg-multi-open, ethereum_hashing, k256, libp2p-gossipsub, libp2p-identity, tiny-bip39
v0.9.9 eth2_key_derivation, eth2_keystore, eth2_network_config, execution_layer, lighthouse_network, scrypt
13 thiserror-impl v1.0.69 890ms 890ms thiserror
v2.0.17 thiserror
14 yamux v0.12.1 800ms 800ms libp2p-yamux
v0.13.8 libp2p-yamux
15 aes v0.7.5 760ms 760ms eth2_keystore
v0.8.4 aes-gcm, discv5

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions