bazelbuild / rules_rust
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 85 files with 18,288 lines of code.
    • 3 very long files (4,751 lines of code)
    • 3 long files (2,204 lines of code)
    • 24 medium size files (7,820 lines of codeclsfd_ftr_w_mp_ins)
    • 14 small files (2,020 lines of code)
    • 41 very small files (1,493 lines of code)
25% | 12% | 42% | 11% | 8%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
bzl36% | 12% | 38% | 7% | 4%
rs0% | 12% | 59% | 16% | 11%
cc0% | 0% | 35% | 50% | 13%
toml0% | 0% | 0% | 0% | 100%
h0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
rust72% | 0% | 23% | 3% | <1%
wasm_bindgen/raze96% | 0% | 0% | 0% | 3%
rust/private26% | 23% | 39% | 5% | 5%
proto/raze0% | 94% | 0% | 0% | 5%
tools/rust_analyzer0% | 39% | 46% | 0% | 13%
crate_universe/src0% | 0% | 78% | 13% | 8%
cargo0% | 0% | 99% | 0% | <1%
cargo/cargo_build_script_runner0% | 0% | 100% | 0% | 0%
bindgen/raze0% | 0% | 93% | 0% | 6%
util/label0% | 0% | 95% | 0% | 4%
proto0% | 0% | 55% | 28% | 15%
crate_universe0% | 0% | 80% | 0% | 19%
rust/platform0% | 0% | 68% | 0% | 31%
bindgen0% | 0% | 76% | 0% | 23%
util/process_wrapper0% | 0% | 32% | 47% | 19%
wasm_bindgen0% | 0% | 0% | 78% | 21%
tools/runfiles0% | 0% | 0% | 100% | 0%
cargo/private0% | 0% | 0% | 100% | 0%
tools/rustdoc0% | 0% | 0% | 100% | 0%
tools/rustfmt0% | 0% | 0% | 71% | 28%
crate_universe/private0% | 0% | 0% | 90% | 9%
util/dir_zipper0% | 0% | 0% | 0% | 100%
cargo/bootstrap0% | 0% | 0% | 0% | 100%
rust/settings0% | 0% | 0% | 0% | 100%
tools0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
tools/clippy0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
known_shas.bzl
in rust
2351 -
crates.bzl
in wasm_bindgen/raze
1288 -
rustc.bzl
in rust/private
1112 -
rust.bzl
in rust/private
972 -
crates.bzl
in proto/raze
691 -
aquery.rs
in tools/rust_analyzer
541 7
repository_utils.bzl
in rust/private
485 -
renderer.rs
in crate_universe/src
462 7
utils.bzl
in rust/private
440 -
toolchain.bzl
in rust
435 -
crates.bzl
in tools/rust_analyzer/raze
397 -
parser.rs
in crate_universe/src
388 7
crates.bzl
in bindgen/raze
379 -
label.rs
in util/label
379 11
proto.bzl
in proto
367 -
resolver.rs
in crate_universe/src
363 3
defs.bzl
in crate_universe
356 -
cargo_build_script.bzl
in cargo
333 -
repositories.bzl
in rust
328 -
cargo_bootstrap.bzl
in cargo
287 -
rustdoc.bzl
in rust/private
271 -
bin.rs
in cargo/cargo_build_script_runner
268 6
clippy.bzl
in rust/private
263 -
triple_mappings.bzl
in rust/platform
258 -
rust_project.rs
in tools/rust_analyzer
239 2
bindgen.bzl
in bindgen
236 -
system_windows.cc
in util/process_wrapper
235 13
consolidator.rs
in crate_universe/src
227 2
lib.rs
in cargo/cargo_build_script_runner
221 5
rust_analyzer.bzl
in rust/private
203 -
toolchain.bzl
in proto
188 -
process_wrapper.cc
in util/process_wrapper
180 1
wasm_bindgen.bzl
in wasm_bindgen
169 -
runfiles.rs
in tools/runfiles
163 7
system_posix.cc
in util/process_wrapper
158 10
cargo_utils.bzl
in cargo/private
158 -
rustfmt.bzl
in rust/private
152 -
rustdoc_test_writer.rs
in tools/rustdoc
152 7
main.rs
in tools/rustfmt/srcs
129 5
testing.rs
in crate_universe/src
129 -
util.bzl
in crate_universe/private
124 -
config.rs
in crate_universe/src
116 2
providers.bzl
in rust/private
101 -
defs.bzl
in rust
101 -
utils.cc
in util/process_wrapper
92 5
toolchain_utils.bzl
in rust/private
88 -
main.rs
in tools/rust_analyzer
85 2
platform.bzl
in rust/platform
78 -
main.rs
in crate_universe/src
75 2
repositories.bzl
in bindgen
74 -
Files With Most Units (Top 20)
File# lines# units
system_windows.cc
in util/process_wrapper
235 13
label.rs
in util/label
379 11
system_posix.cc
in util/process_wrapper
158 10
runfiles.rs
in tools/runfiles
163 7
rustdoc_test_writer.rs
in tools/rustdoc
152 7
aquery.rs
in tools/rust_analyzer
541 7
renderer.rs
in crate_universe/src
462 7
parser.rs
in crate_universe/src
388 7
bin.rs
in cargo/cargo_build_script_runner
268 6
utils.cc
in util/process_wrapper
92 5
main.rs
in tools/rustfmt/srcs
129 5
lib.rs
in cargo/cargo_build_script_runner
221 5
label_error.rs
in util/label
17 3
serde_utils.rs
in crate_universe/src
61 3
resolver.rs
in crate_universe/src
363 3
main.rs
in tools/rust_analyzer
85 2
rust_project.rs
in tools/rust_analyzer
239 2
consolidator.rs
in crate_universe/src
227 2
main.rs
in crate_universe/src
75 2
config.rs
in crate_universe/src
116 2
Files With Long Lines (Top 20)

There are 23 files with lines longer than 120 characters. In total, there are 778 long lines.

File# lines# units# long lines
known_shas.bzl
in rust
2351 - 691
repositories.bzl
in rust
328 - 18
rustc.bzl
in rust/private
1112 - 10
toolchain.bzl
in rust
435 - 8
defs.bzl
in crate_universe
356 - 8
cargo_bootstrap.bzl
in cargo
287 - 6
bindgen.bzl
in bindgen
236 - 5
cargo_build_script.bzl
in cargo
333 - 4
repository_utils.bzl
in rust/private
485 - 3
Cross.toml
in crate_universe
14 - 3
wasm_bindgen.bzl
in wasm_bindgen
169 - 3
repositories.bzl
in bindgen
74 - 2
utils.bzl
in rust/private
440 - 2
rust.bzl
in rust/private
972 - 2
providers.bzl
in rust/private
101 - 2
main.rs
in crate_universe/src
75 2 2
bin.rs
in cargo/cargo_build_script_runner
268 6 2
repositories.bzl
in wasm_bindgen
35 - 2
rustdoc.bzl
in rust/private
271 - 1
rust_analyzer.bzl
in rust/private
203 - 1