firebase / abseil-cpp-SwiftPM
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 455 files with 73,195 lines of code.
    • 8 very long files (11,247 lines of code)
    • 25 long files (17,291 lines of code)
    • 65 medium size files (20,939 lines of codeclsfd_ftr_w_mp_ins)
    • 86 small files (12,275 lines of code)
    • 271 very small files (11,443 lines of code)
15% | 23% | 28% | 16% | 15%
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
h13% | 21% | 29% | 18% | 17%
cc17% | 27% | 29% | 12% | 11%
inc33% | 22% | 0% | 27% | 17%
cmake0% | 25% | 59% | 7% | 7%
py0% | 0% | 0% | 61% | 38%
bzl0% | 0% | 0% | 58% | 41%
in0% | 0% | 0% | 0% | 100%
swift0% | 0% | 0% | 0% | 100%
lds0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
absl/container39% | 15% | 16% | 18% | 9%
absl/debugging48% | 0% | 12% | 16% | 22%
absl/synchronization49% | 13% | 15% | 2% | 18%
absl/strings9% | 33% | 28% | 16% | 12%
absl/types17% | 34% | 41% | 2% | 3%
absl/algorithm92% | 0% | 0% | 0% | 7%
absl/time0% | 61% | 14% | 12% | 11%
absl/numeric0% | 41% | 31% | 20% | 6%
absl/base0% | 12% | 31% | 28% | 27%
absl/hash0% | 42% | 33% | 10% | 14%
ci/CMake0% | 53% | 40% | 0% | 6%
absl/flags0% | 16% | 48% | 8% | 26%
absl/random0% | 0% | 30% | 42% | 27%
absl/status0% | 0% | 90% | 0% | 9%
CMake0% | 0% | 97% | 0% | 2%
absl/meta0% | 0% | 100% | 0% | 0%
absl/memory0% | 0% | 100% | 0% | 0%
absl/copts0% | 0% | 0% | 69% | 30%
absl/utility0% | 0% | 0% | 100% | 0%
absl/profiling0% | 0% | 0% | 45% | 54%
absl0% | 0% | 0% | 78% | 21%
absl/functional0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
absl/cleanup0% | 0% | 0% | 0% | 100%
CMake/Googletest0% | 0% | 0% | 0% | 100%
SwiftPMTests/build-test0% | 0% | 0% | 0% | 100%
ci0% | 0% | 0% | 0% | 100%
CMake/install_test_project0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
mutex.cc
in absl/synchronization
1935 75
btree.h
in absl/container/internal
1866 154
cord.cc
in absl/strings
1614 76
raw_hash_set.h
in absl/container/internal
1301 134
demangle.cc
in absl/debugging/internal
1254 79
variant.h
in absl/types/internal
1187 69
symbolize_elf.inc
in absl/debugging
1089 36
container.h
in absl/algorithm
1001 121
float_conversion.cc
in absl/strings/internal/str_format
981 57
conformance_testing.h
in absl/types/internal
918 45
cord_rep_btree.cc
in absl/strings/internal
846 25
time_zone_format.cc
in absl/time/internal/cctz/src
820 8
cord.h
in absl/strings
812 69
numbers.cc
in absl/strings
809 18
int128.h
in absl/numeric
774 71
time_zone_info.cc
in absl/time/internal/cctz/src
754 40
conformance_archetype.h
in absl/types/internal
744 34
exception_safety_testing.h
in absl/base/internal
738 40
zoneinfo.inc
in absl/time/internal
729 -
inlined_vector.h
in absl/container/internal
701 57
duration.cc
in absl/time
699 51
escaping.cc
in absl/strings
677 25
charconv.cc
in absl/strings
661 22
cord_rep_ring.cc
in absl/strings/internal
617 19
hash.h
in absl/hash/internal
615 34
conformance_profile.h
in absl/types/internal
614 19
time.h
in absl/time
612 78
btree_container.h
in absl/container/internal
558 82
cmake
AbseilDll.cmake
in ci/CMake
535 -
graphcycles.cc
in absl/synchronization/internal
528 45
substitute.h
in absl/strings
520 25
flag.h
in absl/flags/internal
520 52
civil_time_detail.h
in absl/time/internal/cctz/include/cctz
509 59
parse.cc
in absl/flags
500 22
cmake
AbseilDll.cmake
in CMake
498 -
optional.h
in absl/types
489 18
compare.h
in absl/types
485 27
cord_rep_btree.h
in absl/strings/internal
459 35
low_level_alloc.cc
in absl/base/internal
442 17
flag.cc
in absl/flags/internal
440 31
inlined_vector.h
in absl/container
425 52
type_traits.h
in absl/meta
425 4
arg.h
in absl/strings/internal/str_format
412 24
cmake
AbseilHelpers.cmake
in ci/CMake
409 -
statusor.h
in absl/status
402 11
randen_slow.cc
in absl/random/internal
391 7
time.cc
in absl/time
389 34
variant.h
in absl/types
386 16
usage.cc
in absl/flags/internal
378 16
randen_round_keys.cc
in absl/random/internal
378 -
Files With Most Units (Top 20)
File# lines# units
btree.h
in absl/container/internal
1866 154
raw_hash_set.h
in absl/container/internal
1301 134
container.h
in absl/algorithm
1001 121
endian.h
in absl/base/internal
229 90
btree_container.h
in absl/container/internal
558 82
demangle.cc
in absl/debugging/internal
1254 79
time.h
in absl/time
612 78
cord.cc
in absl/strings
1614 76
mutex.cc
in absl/synchronization
1935 75
int128.h
in absl/numeric
774 71
cord.h
in absl/strings
812 69
variant.h
in absl/types/internal
1187 69
civil_time_detail.h
in absl/time/internal/cctz/include/cctz
509 59
inlined_vector.h
in absl/container/internal
701 57
float_conversion.cc
in absl/strings/internal/str_format
981 57
inlined_vector.h
in absl/container
425 52
flag.h
in absl/flags/internal
520 52
duration.cc
in absl/time
699 51
string_view.h
in absl/strings
282 51
cord_internal.h
in absl/strings/internal
344 47
Files With Long Lines (Top 3)

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

File# lines# units# long lines
zone_info_source.cc
in absl/time/internal/cctz/src
81 2 32
conanfile.py
in root
38 4 1
cmake
AbseilConfigureCopts.cmake
in absl/copts
59 - 1