facebookresearch / FAMBench
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 108 files with 18,179 lines of code.
    • 3 very long files (4,324 lines of code)
    • 8 long files (5,801 lines of code)
    • 6 medium size files (2,064 lines of codeclsfd_ftr_w_mp_ins)
    • 20 small files (2,811 lines of code)
    • 71 very small files (3,179 lines of code)
23% | 31% | 11% | 15% | 17%
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
py23% | 28% | 7% | 18% | 21%
cc39% | 26% | 24% | 3% | 4%
h0% | 69% | 0% | 13% | 17%
cu0% | 100% | 0% | 0% | 0%
cpp0% | 0% | 100% | 0% | 0%
yml0% | 0% | 0% | 100% | 0%
toml0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
benchmarks/dlrm/ootb47% | 47% | 4% | 0% | 1%
benchmarks/rnnt/ootb/inference20% | 23% | 17% | 14% | 23%
benchmarks/dlrm/ootb/tools0% | 100% | 0% | 0% | 0%
benchmarks/cudnn_multihead_attn0% | 76% | 0% | 23% | 0%
benchmarks/rnnt/ootb/train0% | 0% | 24% | 39% | 35%
benchmarks/dlrm/ubench0% | 0% | 0% | 65% | 34%
fb5logging0% | 0% | 0% | 68% | 31%
benchmarks/xlmr/ootb0% | 0% | 0% | 54% | 45%
benchmarks/dlrm/ootb/tricks0% | 0% | 0% | 0% | 100%
bmlogging0% | 0% | 0% | 0% | 100%
benchmarks/dlrm/ootb/optim0% | 0% | 0% | 0% | 100%
benchmarks/dlrm/ootb/cython0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
dlrm_s_pytorch.py
in benchmarks/dlrm/ootb
1885 29
cc
loadgen.cc
in benchmarks/rnnt/ootb/inference/loadgen
1281 30
dlrm_s_caffe2.py
in benchmarks/dlrm/ootb
1158 26
dlrm_data_pytorch.py
in benchmarks/dlrm/ootb
973 29
data_utils.py
in benchmarks/dlrm/ootb
950 8
cc
logging.cc
in benchmarks/rnnt/ootb/inference/loadgen
850 56
visualize.py
in benchmarks/dlrm/ootb/tools
712 12
logging.h
in benchmarks/rnnt/ootb/inference/loadgen
618 40
cu
cudnn_multihead_attn_benchmark.cu
in benchmarks/cudnn_multihead_attn
599 -
dlrm_data_caffe2.py
in benchmarks/dlrm/ootb
578 21
extend_distributed.py
in benchmarks/dlrm/ootb
521 25
train.py
in benchmarks/rnnt/ootb/train
492 4
cc
issue_query_controller.cc
in benchmarks/rnnt/ootb/inference/loadgen
472 16
cc
python_api.cc
in benchmarks/rnnt/ootb/inference/loadgen/bindings
325 17
data_loader_terabyte.py
in benchmarks/dlrm/ootb
286 13
repro.cpp
in benchmarks/rnnt/ootb/inference/loadgen/benchmark
258 19
inference.py
in benchmarks/rnnt/ootb/train
231 4
multihead_attn_make_ref.py
in benchmarks/cudnn_multihead_attn
189 3
dlrm_ubench_train_embeddingbag_driver.py
in benchmarks/dlrm/ubench
173 2
features.py
in benchmarks/rnnt/ootb/train/common/data
169 14
features.py
in benchmarks/rnnt/ootb/inference/pytorch/parts
168 12
result_summarizer.py
in fb5logging
161 14
pipeline.py
in benchmarks/rnnt/ootb/train/common/data/dali
157 7
model.py
in benchmarks/rnnt/ootb/train/rnnt
156 9
dataset.py
in benchmarks/rnnt/ootb/train/common/data
153 12
helpers.py
in benchmarks/rnnt/ootb/train/common
142 12
model_separable_rnnt.py
in benchmarks/rnnt/ootb/inference/pytorch
138 9
optimizers.py
in benchmarks/rnnt/ootb/train/common
136 7
audio.py
in benchmarks/rnnt/ootb/train/common
128 18
dlrm_ubench_train_driver.py
in benchmarks/dlrm/ubench
128 -
environment.yml
in benchmarks/rnnt/ootb/inference
127 -
cc
c_api.cc
in benchmarks/rnnt/ootb/inference/loadgen/bindings
127 13
tb_dllogger.py
in benchmarks/rnnt/ootb/train/common
119 12
manifest.py
in benchmarks/rnnt/ootb/inference/pytorch/parts
117 10
issue_query_controller.h
in benchmarks/rnnt/ootb/inference/loadgen
115 5
xlmr.py
in benchmarks/xlmr/ootb
107 6
segment.py
in benchmarks/rnnt/ootb/inference/pytorch/parts
101 14
dataset.py
in benchmarks/rnnt/ootb/inference/pytorch
100 7
dlrm_ubench_comms_driver.py
in benchmarks/dlrm/ubench
96 2
pytorch_SUT.py
in benchmarks/rnnt/ootb/inference
94 6
cc
utils.cc
in benchmarks/rnnt/ootb/inference/loadgen
92 5
data_loader.py
in benchmarks/rnnt/ootb/train/common/data/dali
79 8
rwsadagrad.py
in benchmarks/dlrm/ootb/optim
78 3
version_generator.py
in benchmarks/rnnt/ootb/inference/loadgen
76 7
run.py
in benchmarks/rnnt/ootb/inference
74 2
qr_embedding_bag.py
in benchmarks/dlrm/ootb/tricks
74 4
bmlogger.py
in bmlogging
73 17
sampler.py
in benchmarks/rnnt/ootb/train/common/data/dali
71 11
mlperf_logger.py
in benchmarks/dlrm/ootb
70 8
decoder.py
in benchmarks/rnnt/ootb/train/rnnt
68 5
Files With Most Units (Top 20)
File# lines# units
cc
logging.cc
in benchmarks/rnnt/ootb/inference/loadgen
850 56
logging.h
in benchmarks/rnnt/ootb/inference/loadgen
618 40
cc
loadgen.cc
in benchmarks/rnnt/ootb/inference/loadgen
1281 30
dlrm_data_pytorch.py
in benchmarks/dlrm/ootb
973 29
dlrm_s_pytorch.py
in benchmarks/dlrm/ootb
1885 29
dlrm_s_caffe2.py
in benchmarks/dlrm/ootb
1158 26
extend_distributed.py
in benchmarks/dlrm/ootb
521 25
dlrm_data_caffe2.py
in benchmarks/dlrm/ootb
578 21
repro.cpp
in benchmarks/rnnt/ootb/inference/loadgen/benchmark
258 19
audio.py
in benchmarks/rnnt/ootb/train/common
128 18
bmlogger.py
in bmlogging
73 17
cc
python_api.cc
in benchmarks/rnnt/ootb/inference/loadgen/bindings
325 17
cc
issue_query_controller.cc
in benchmarks/rnnt/ootb/inference/loadgen
472 16
result_summarizer.py
in fb5logging
161 14
features.py
in benchmarks/rnnt/ootb/train/common/data
169 14
segment.py
in benchmarks/rnnt/ootb/inference/pytorch/parts
101 14
cc
c_api.cc
in benchmarks/rnnt/ootb/inference/loadgen/bindings
127 13
data_loader_terabyte.py
in benchmarks/dlrm/ootb
286 13
tb_dllogger.py
in benchmarks/rnnt/ootb/train/common
119 12
dataset.py
in benchmarks/rnnt/ootb/train/common/data
153 12
Files With Long Lines (Top 18)

There are 18 files with lines longer than 120 characters. In total, there are 37 long lines.

File# lines# units# long lines
visualize.py
in benchmarks/dlrm/ootb/tools
712 12 12
dlrm_ubench_train_driver.py
in benchmarks/dlrm/ubench
128 - 5
xlmr.py
in benchmarks/xlmr/ootb
107 6 2
run.py
in benchmarks/rnnt/ootb/inference
74 2 2
data_utils.py
in benchmarks/dlrm/ootb
950 8 2
dlrm_s_pytorch.py
in benchmarks/dlrm/ootb
1885 29 2
xlmr_data.py
in benchmarks/xlmr/ootb
39 4 1
symbols.py
in benchmarks/rnnt/ootb/train/common/text
10 - 1
iterator.py
in benchmarks/rnnt/ootb/train/common/data/dali
62 7 1
pipeline.py
in benchmarks/rnnt/ootb/train/common/data/dali
157 7 1
cc
python_api.cc
in benchmarks/rnnt/ootb/inference/loadgen/bindings
325 17 1
decoders.py
in benchmarks/rnnt/ootb/inference/pytorch
61 6 1
model_separable_rnnt.py
in benchmarks/rnnt/ootb/inference/pytorch
138 9 1
toml
rnnt.toml
in benchmarks/rnnt/ootb/inference/pytorch/configs
65 - 1
accuracy_eval.py
in benchmarks/rnnt/ootb/inference
43 2 1
rwsadagrad.py
in benchmarks/dlrm/ootb/optim
78 3 1
extend_distributed.py
in benchmarks/dlrm/ootb
521 25 1
dlrm_ubench_infer_driver.py
in benchmarks/dlrm/ubench
63 - 1