aws / libfabric
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 716 files with 197,036 lines of code.
    • 30 very long files (46,214 lines of code)
    • 95 long files (65,457 lines of code)
    • 163 medium size files (52,928 lines of codeclsfd_ftr_w_mp_ins)
    • 132 small files (19,580 lines of code)
    • 296 very small files (12,857 lines of code)
23% | 33% | 26% | 9% | 6%
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
c29% | 31% | 27% | 7% | 3%
h2% | 39% | 22% | 18% | 16%
filters0% | 68% | 23% | 0% | 7%
vcxproj0% | 41% | 47% | 10% | 0%
cpp0% | 100% | 0% | 0% | 0%
py0% | 0% | 38% | 33% | 27%
in0% | 0% | 46% | 0% | 53%
bats0% | 0% | 94% | 0% | 5%
pl0% | 0% | 36% | 41% | 22%
cmd0% | 0% | 96% | 0% | 3%
rb0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
bashrc0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
prov/gni40% | 31% | 12% | 7% | 7%
prov/sockets40% | 23% | 25% | 9% | 1%
prov/rxm64% | 9% | 21% | 3% | <1%
prov/psm233% | 42% | 13% | 8% | 2%
prov/verbs48% | 19% | 27% | 4% | <1%
prov/efa21% | 40% | 29% | 5% | 3%
fabtests/common76% | 14% | 7% | 0% | 1%
prov/bgq20% | 37% | 25% | 11% | 4%
util82% | 0% | 16% | 0% | 1%
prov/usnic8% | 39% | 21% | 17% | 12%
src24% | 38% | 21% | 13% | 2%
prov/psm15% | 44% | 32% | 4% | 2%
prov/util13% | 44% | 37% | 3% | 1%
prov/rxd23% | 21% | 39% | 7% | 6%
prov/netdir0% | 45% | 29% | 20% | 4%
include0% | 36% | 31% | 20% | 10%
fabtests/ubertest0% | 57% | 33% | 3% | 6%
ROOT0% | 58% | 31% | 0% | 9%
prov/mrail0% | 45% | 44% | 5% | 4%
prov/hook0% | 46% | 29% | 3% | 20%
prov/shm0% | 37% | 40% | 13% | 8%
prov/tcp0% | 35% | 46% | 7% | 11%
fabtests/functional0% | 17% | 51% | 24% | 6%
include/windows0% | 73% | 0% | 9% | 16%
prov/udp0% | 64% | 0% | 0% | 35%
include/rdma0% | 22% | 54% | 12% | 10%
prov/rstream0% | 33% | 18% | 34% | 13%
util/windows0% | 94% | 0% | 0% | 5%
fabtests/multinode0% | 0% | 88% | 0% | 11%
src/windows0% | 0% | 100% | 0% | 0%
fabtests/include0% | 0% | 53% | 20% | 25%
contrib/intel0% | 0% | 50% | 25% | 24%
contrib/cray0% | 0% | 65% | 29% | 4%
config0% | 0% | 35% | 40% | 23%
fabtests0% | 0% | 54% | 38% | 7%
include/unix0% | 0% | 100% | 0% | 0%
fabtests/benchmarks0% | 0% | 28% | 0% | 71%
fabtests/unit0% | 0% | 82% | 0% | 17%
fabtests/scripts0% | 0% | 68% | 0% | 31%
src/unix0% | 0% | 100% | 0% | 0%
src/linux0% | 0% | 0% | 100% | 0%
src/shared0% | 0% | 0% | 100% | 0%
include/linux0% | 0% | 0% | 0% | 100%
config/github-webhook0% | 0% | 0% | 0% | 100%
include/osx0% | 0% | 0% | 0% | 100%
include/freebsd0% | 0% | 0% | 0% | 100%
include/shared0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
gnix_msg.c
in prov/gni/src
2752 59
shared.c
in fabtests/common
2735 119
gnix_ep.c
in prov/gni/src
2563 66
sock_progress.c
in prov/sockets/src
2338 67
rxm_ep.c
in prov/rxm/src
2336 68
verbs_ep.c
in prov/verbs/src
1941 33
pingpong.c
in util
1779 57
psmx2_atomic.c
in prov/psm2/src
1724 33
psmx2_cq.c
in prov/psm2/src
1701 19
sock_ep.c
in prov/sockets/src
1550 40
fi_bgq_ep.c
in prov/bgq/src
1498 28
gnix_vc.c
in prov/gni/src
1493 39
rxr_ep.c
in prov/efa/src/rxr
1410 30
verbs_info.c
in prov/verbs/src
1385 33
rxr_pkt_type_req.c
in prov/efa/src/rxr
1379 62
vnic_dev.c
in prov/usnic/src/usnic_direct
1375 86
common.c
in src
1354 64
gnix_sep.c
in prov/gni/src
1281 25
rxm_conn.c
in prov/rxm/src
1271 38
rxm_cq.c
in prov/rxm/src
1254 41
psmx_atomic.c
in prov/psm/src
1246 25
gnix_rma.c
in prov/gni/src
1212 25
util_coll.c
in prov/util/src
1154 42
psmx2_rma.c
in prov/psm2/src
1148 19
verbs_eq.c
in prov/verbs/src
1118 18
fi_bgq_rx.h
in prov/bgq/include/rdma/bgq
1056 15
rxd_cq.c
in prov/rxd/src
1051 36
gnix_mr_cache.c
in prov/gni/src
1050 37
sock_ep_msg.c
in prov/sockets/src
1044 34
gnix_cm.c
in prov/gni/src
1016 20
uthash.h
in include
996 -
util_attr.c
in prov/util/src
995 31
psmx2_trigger.h
in prov/psm2/src
990 17
sock.h
in prov/sockets/include
980 1
usd_queues.c
in prov/usnic/src/usnic_direct
978 3
usdf_cq.c
in prov/usnic/src
973 14
psmx2.h
in prov/psm2/src
973 25
rxd_ep.c
in prov/rxd/src
966 48
gnix_nic.c
in prov/gni/src
960 19
fabric.c
in src
940 33
gnix_mr.c
in prov/gni/src
930 43
psmx2_tagged.c
in prov/psm2/src
928 11
psmx2_av.c
in prov/psm2/src
927 21
osd.h
in include/windows
888 27
mrail_ep.c
in prov/mrail/src
884 35
util_atomic.c
in prov/util/src
879 4
psmx2_ep.c
in prov/psm2/src
855 25
efa_fabric.c
in prov/efa/src
844 16
psmx_tagged.c
in prov/psm/src
829 28
netdir_cq.c
in prov/netdir/src
817 21
Files With Most Units (Top 20)
File# lines# units
shared.c
in fabtests/common
2735 119
enosys.c
in src
556 103
vnic_dev.c
in prov/usnic/src/usnic_direct
1375 86
rxm_ep.c
in prov/rxm/src
2336 68
sock_progress.c
in prov/sockets/src
2338 67
gnix_ep.c
in prov/gni/src
2563 66
common.c
in src
1354 64
rxr_pkt_type_req.c
in prov/efa/src/rxr
1379 62
gnix_msg.c
in prov/gni/src
2752 59
pingpong.c
in util
1779 57
rxd_ep.c
in prov/rxd/src
966 48
tests.py
in contrib/intel/jenkins
394 43
gnix_mr.c
in prov/gni/src
930 43
util_coll.c
in prov/util/src
1154 42
rxm_cq.c
in prov/rxm/src
1254 41
sock_ep.c
in prov/sockets/src
1550 40
gnix_vc.c
in prov/gni/src
1493 39
rxm_conn.c
in prov/rxm/src
1271 38
gnix_mr_cache.c
in prov/gni/src
1050 37
rxd_cq.c
in prov/rxd/src
1051 36
Files With Long Lines (Top 20)

There are 34 files with lines longer than 120 characters. In total, there are 406 long lines.

File# lines# units# long lines
vcxproj
libfabric.vcxproj
in root
679 - 164
fi_bgq_mu.h
in prov/bgq/include/rdma/bgq
581 19 39
props
Libfabric.Build.Default.props
in root
35 - 29
vcxproj
pingpong.vcxproj
in root
259 - 24
vcxproj
strerror.vcxproj
in root
252 - 21
vcxproj
fabtests.vcxproj
in fabtests
176 - 16
gnix_atomic.c
in prov/gni/src
525 11 16
fi_bgq_rx.h
in prov/bgq/include/rdma/bgq
1056 15 16
rxr_init.c
in prov/efa/src/rxr
540 15 13
vcxproj
info.vcxproj
in root
254 - 12
fi_bgq_domain.c
in prov/bgq/src
432 6 9
fi_direct_rma.h
in prov/bgq/include/rdma
670 11 8
fi_bgq_ep.c
in prov/bgq/src
1498 28 6
bats
smoketests.bats
in contrib/cray/bats
21 - 4
fi_bgq_pmi.c
in prov/bgq/src
246 20 4
fi_bgq_init.c
in prov/bgq/src
234 4 3
fi_bgq_progress.c
in prov/bgq/src
234 8 2
fi_bgq_spi.c
in prov/bgq/src
136 4 2
fi_bgq_cq.c
in prov/bgq/src
462 8 2
osd.h
in include/windows
888 27 2