bazelbuild / rules_cc
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 45 files with 10,958 lines of code.
    • 4 very long files (5,117 lines of code)
    • 3 long files (1,688 lines of code)
    • 7 medium size files (2,366 lines of codeclsfd_ftr_w_mp_ins)
    • 5 small files (722 lines of code)
    • 26 very small files (1,065 lines of code)
46% | 15% | 21% | 6% | 9%
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
bzl50% | 22% | 12% | 8% | 7%
go94% | 0% | 0% | 0% | 5%
py0% | 0% | 84% | 0% | 15%
tpl0% | 0% | 50% | 18% | 31%
cc0% | 0% | 83% | 0% | 16%
h0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
cc/private/toolchain57% | 17% | 12% | 6% | 5%
tools/migration51% | 0% | 34% | 0% | 13%
cc0% | 37% | 31% | 20% | 11%
tools/runfiles0% | 0% | 82% | 0% | 17%
cc/private/rules_impl0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 45)
File# lines# units
cc_toolchain_config.bzl
in cc/private/toolchain
1446 -
crosstool_to_starlark_lib.go
in tools/migration
1272 71
windows_cc_toolchain_config.bzl
in cc/private/toolchain
1256 -
unix_cc_toolchain_config.bzl
in cc/private/toolchain
1143 -
windows_cc_configure.bzl
in cc/private/toolchain
621 -
unix_cc_configure.bzl
in cc/private/toolchain
553 -
cc_toolchain_config_lib.bzl
in cc
514 -
ctoolchain_comparator_lib.py
in tools/migration
435 16
system_library.bzl
in cc
428 -
legacy_fields_migration_lib.py
in tools/migration
423 16
tpl
BUILD.windows.tpl
in cc/private/toolchain
292 -
freebsd_cc_toolchain_config.bzl
in cc/private/toolchain
284 -
runfiles_src.cc
in tools/runfiles
256 13
lib_cc_configure.bzl
in cc/private/toolchain
248 -
osx_cc_configure.bzl
in cc/private/toolchain
171 -
cc_configure.bzl
in cc/private/toolchain
167 -
action_names.bzl
in cc
153 -
defs.bzl
in cc
123 -
tpl
osx_cc_wrapper.sh.tpl
in cc/private/toolchain
108 -
tpl
BUILD.tpl
in cc/private/toolchain
100 -
ctoolchain_comparator.py
in tools/migration
83 4
find_cc_toolchain.bzl
in cc
74 -
armeabi_cc_toolchain_config.bzl
in cc/private/toolchain
74 -
convert_crosstool_to_starlark.go
in tools/migration
73 2
cc_flags_supplier_lib.bzl
in cc/private/rules_impl
67 -
runfiles_src.h
in tools/runfiles
54 1
libtool_check_unique.cc
in cc/private/toolchain
51 2
cc_toolchain_config_comparator.bzl
in tools/migration
47 -
ctoolchain_compare.bzl
in tools/migration
44 -
legacy_fields_migrator.py
in tools/migration
41 2
empty_cc_toolchain_config.bzl
in cc/private/toolchain
39 -
crosstool_query.py
in tools/migration
37 1
cc_flags_supplier.bzl
in cc/private/rules_impl
32 -
compiler_flag.bzl
in cc/private/rules_impl
27 -
repositories.bzl
in cc
27 -
internal_deps.bzl
in root
26 -
toolchain_utils.bzl
in cc
26 -
internal_setup.bzl
in root
25 -
tpl
linux_cc_wrapper.sh.tpl
in cc/private/toolchain
23 -
tpl
vc_installation_error.bat.tpl
in cc/private/toolchain
21 -
tpl
clang_installation_error.bat.tpl
in cc/private/toolchain
21 -
extensions.bzl
in cc
19 -
tpl
BUILD.toolchains.tpl
in cc/private/toolchain
18 -
version.bzl
in cc
15 -
empty.cc
in cc/private/toolchain
1 1
Files With Most Units (Top 11)
File# lines# units
crosstool_to_starlark_lib.go
in tools/migration
1272 71
legacy_fields_migration_lib.py
in tools/migration
423 16
ctoolchain_comparator_lib.py
in tools/migration
435 16
runfiles_src.cc
in tools/runfiles
256 13
ctoolchain_comparator.py
in tools/migration
83 4
convert_crosstool_to_starlark.go
in tools/migration
73 2
legacy_fields_migrator.py
in tools/migration
41 2
libtool_check_unique.cc
in cc/private/toolchain
51 2
runfiles_src.h
in tools/runfiles
54 1
crosstool_query.py
in tools/migration
37 1
empty.cc
in cc/private/toolchain
1 1
Files With Long Lines (Top 5)

There are 5 files with lines longer than 120 characters. In total, there are 21 long lines.

File# lines# units# long lines
windows_cc_configure.bzl
in cc/private/toolchain
621 - 10
cc_configure.bzl
in cc/private/toolchain
167 - 6
find_cc_toolchain.bzl
in cc
74 - 3
unix_cc_configure.bzl
in cc/private/toolchain
553 - 1
lib_cc_configure.bzl
in cc/private/toolchain
248 - 1