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 11.7s 11.7s 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.6s 7.6s hyper
v0.4.12 hyper
3 hyper v0.14.32 6.7s 6.7s 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 4.0s darling, darling_macro
v0.20.11 darling, darling_macro
v0.21.3 darling, darling_macro
5 syn v1.0.109 3.7s 3.7s 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 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
7 rustls-webpki v0.102.8 1.9s 1.9s rustls
v0.103.8 libp2p-tls, rustls
8 http v0.2.12 1.4s 1.4s 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)
9 hashbrown v0.14.5 610ms 1.2s dashmap, hashlink
v0.15.5 hashlink, lru
v0.16.0 alloy-primitives, indexmap
10 nix v0.24.3 1.1s 1.1s psutil
v0.26.4 rtnetlink
11 thiserror-impl v1.0.69 870ms 870ms thiserror
v2.0.17 thiserror
12 yamux v0.12.1 780ms 780ms libp2p-yamux
v0.13.8 libp2p-yamux
13 socket2 v0.5.10 720ms 720ms discv5, hyper, libp2p-quic, libp2p-tcp
v0.6.1 hyper-util, quinn, quinn-udp, tokio
14 rand v0.8.5 650ms 650ms alloy-signer-local, discv5, enr, group, libp2p-core, libp2p-gossipsub, libp2p-identity, libp2p-mplex, libp2p-noise, libp2p-quic, libp2p-swarm, num-bigint-dig, (+2 more)
v0.9.2 account_utils, beacon_chain, bls, client, eth2_keystore, eth2_wallet, execution_layer, hickory-proto, hickory-resolver, http_api, igd-next, initialized_validators, (+12 more)
15 derive_more v0.99.20 610ms 610ms psutil
v2.0.1 alloy-consensus, alloy-eips, alloy-network, alloy-primitives, alloy-transport, alloy-trie

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