microsoft / CMake
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 3,379 files with 691,418 lines of code.
    • 158 very long files (321,938 lines of code)
    • 186 long files (127,259 lines of code)
    • 352 medium size files (111,319 lines of codeclsfd_ftr_w_mp_ins)
    • 432 small files (62,652 lines of code)
    • 2,251 very small files (68,250 lines of code)
46% | 18% | 16% | 9% | 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
c58% | 19% | 13% | 5% | 3%
cxx52% | 17% | 16% | 8% | 5%
cmake27% | 17% | 20% | 15% | 19%
h14% | 18% | 19% | 18% | 29%
cpp97% | 0% | 0% | 0% | 2%
y83% | 0% | 6% | 9% | 0%
in0% | 32% | 18% | 9% | 38%
hxx0% | 89% | 0% | 0% | 10%
py0% | 0% | 80% | 0% | 19%
ui0% | 0% | 47% | 37% | 14%
S0% | 0% | 100% | 0% | 0%
l0% | 0% | 45% | 37% | 16%
el0% | 0% | 100% | 0% | 0%
inc0% | 0% | 100% | 0% | 0%
bash0% | 0% | 0% | 20% | 80%
pl0% | 0% | 0% | 81% | 18%
inl0% | 0% | 0% | 0% | 100%
wxs0% | 0% | 0% | 0% | 100%
F0% | 0% | 0% | 0% | 100%
F900% | 0% | 0% | 0% | 100%
targets0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
cc0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
f900% | 0% | 0% | 0% | 100%
f0% | 0% | 0% | 0% | 100%
cu0% | 0% | 0% | 0% | 100%
m0% | 0% | 0% | 0% | 100%
mm0% | 0% | 0% | 0% | 100%
css0% | 0% | 0% | 0% | 100%
desktop0% | 0% | 0% | 0% | 100%
ME0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Source44% | 15% | 19% | 10% | 10%
Utilities/cmlibarchive67% | 12% | 12% | 4% | 3%
Utilities/cmcurl47% | 26% | 14% | 4% | 6%
Source/LexerParser82% | 10% | 2% | 2% | 1%
Modules28% | 19% | 21% | 15% | 15%
Utilities/cmlibuv45% | 20% | 20% | 8% | 4%
Utilities/cmzstd54% | 22% | 14% | 4% | 4%
Source/kwsys54% | 19% | 12% | 6% | 6%
Utilities/cmnghttp265% | 18% | 5% | 5% | 5%
Utilities/cmexpat87% | 0% | 4% | 2% | 5%
Source/CTest32% | 22% | 17% | 16% | 11%
Utilities/cmjsoncpp77% | 0% | 8% | 7% | 6%
Modules/FindPython100% | 0% | 0% | 0% | 0%
Utilities/cmbzip247% | 21% | 19% | 8% | 4%
Utilities/cmzlib33% | 23% | 22% | 15% | 5%
Source/CursesDialog30% | 12% | 10% | 14% | 31%
Modules/Internal32% | 29% | 13% | 12% | 11%
Source/CPack10% | 34% | 24% | 15% | 14%
Source/QtDialog19% | 28% | 13% | 23% | 14%
Utilities/cmelf80% | 0% | 0% | 19% | 0%
Utilities/cmliblzma0% | 35% | 24% | 18% | 21%
Utilities/KWIML0% | 67% | 28% | 0% | 3%
Utilities/std0% | 76% | 21% | 0% | 1%
Modules/Platform0% | 9% | 22% | 13% | 55%
Utilities/cmlibrhash0% | 21% | 9% | 55% | 12%
Modules/FindCUDA0% | 0% | 75% | 0% | 24%
ROOT0% | 0% | 64% | 29% | 5%
Utilities/cmvssetup0% | 0% | 100% | 0% | 0%
Auxiliary0% | 0% | 100% | 0% | 0%
Utilities/Sphinx0% | 0% | 53% | 0% | 46%
Utilities0% | 0% | 94% | 0% | 5%
Modules/Compiler0% | 0% | 4% | 19% | 75%
Utilities/Scripts0% | 0% | 24% | 13% | 62%
Utilities/Release0% | 0% | 0% | 29% | 70%
Modules/FortranCInterface0% | 0% | 0% | 59% | 40%
Templates0% | 0% | 0% | 79% | 20%
Modules/AndroidTestUtilities0% | 0% | 0% | 100% | 0%
Auxiliary/vim0% | 0% | 0% | 62% | 37%
Modules/CompilerId0% | 0% | 0% | 27% | 72%
Source/Modules0% | 0% | 0% | 29% | 70%
Help/guide0% | 0% | 0% | 0% | 100%
Source/Checks0% | 0% | 0% | 0% | 100%
Utilities/cm3p0% | 0% | 0% | 0% | 100%
Modules/UseJava0% | 0% | 0% | 0% | 100%
Packaging/QtSDK0% | 0% | 0% | 0% | 100%
Utilities/Doxygen0% | 0% | 0% | 0% | 100%
Source/QtIFW0% | 0% | 0% | 0% | 100%
Templates/MSBuild0% | 0% | 0% | 0% | 100%
Modules/CheckIPOSupported0% | 0% | 0% | 0% | 100%
Modules/FindMPI0% | 0% | 0% | 0% | 100%
Modules/UseSWIG0% | 0% | 0% | 0% | 100%
VSInsertion/Signing0% | 0% | 0% | 0% | 100%
Modules/FetchContent0% | 0% | 0% | 0% | 100%
Modules/CMakeAddFortranSubdirectory0% | 0% | 0% | 0% | 100%
Modules/IntelVSImplicitPath0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
xmlparse.c
in Utilities/cmexpat/lib
6798 1
cxx
cmGeneratorTarget.cxx
in Source
6513 253
archive_write_set_format_iso9660.c
in Utilities/cmlibarchive/libarchive
6064 1
nghttp2_session.c
in Utilities/cmnghttp2/lib
5595 166
cxx
cmDependsJavaParser.cxx
in Source/LexerParser
5437 1
zstd_compress.c
in Utilities/cmzstd/lib/compress
5002 184
nghttp2_hd_huffman_data.c
in Utilities/cmnghttp2/lib
4695 -
cxx
SystemInformation.cxx
in Source/kwsys
4450 142
cxx
cmVisualStudio10TargetGenerator.cxx
in Source
4417 115
cxx
cmGlobalXCodeGenerator.cxx
in Source
4068 102
cxx
SystemTools.cxx
in Source/kwsys
3844 108
cxx
cmMakefile.cxx
in Source
3656 154
cxx
cmLocalGenerator.cxx
in Source
3647 115
winapi.h
in Utilities/cmlibuv/src/win
3613 -
openssl.c
in Utilities/cmcurl/lib/vtls
3482 51
cxx
cmFileCommand.cxx
in Source
3247 59
cmake
ExternalProject.cmake
in Modules
3228 -
archive_write_disk_posix.c
in Utilities/cmlibarchive/libarchive
3226 1
cxx
cmCTest.cxx
in Source
3203 123
archive_string.c
in Utilities/cmlibarchive/libarchive
3115 1
archive_read_support_format_zip.c
in Utilities/cmlibarchive/libarchive
3105 1
archive_read_support_format_7zip.c
in Utilities/cmlibarchive/libarchive
3103 1
cxx
cmake.cxx
in Source
3055 91
http.c
in Utilities/cmcurl/lib
3039 41
cmake
Support.cmake
in Modules/FindPython
3032 -
ftp.c
in Utilities/cmcurl/lib
3009 63
archive_read_support_format_xar.c
in Utilities/cmlibarchive/libarchive
2981 2
url.c
in Utilities/cmcurl/lib
2885 45
cxx
cmSystemTools.cxx
in Source
2807 113
libssh2.c
in Utilities/cmcurl/lib/vssh
2793 38
y
cmDependsJavaParser.y
in Source/LexerParser
2783 -
sectransp.c
in Utilities/cmcurl/lib/vtls
2775 33
cxx
cmGlobalGenerator.cxx
in Source
2679 118
archive_write_set_format_xar.c
in Utilities/cmlibarchive/libarchive
2668 1
archive_read_support_format_rar5.c
in Utilities/cmlibarchive/libarchive
2623 92
fs.c
in Utilities/cmlibuv/src/win
2588 97
archive_read_support_format_cab.c
in Utilities/cmlibarchive/libarchive
2538 1
archive_read_support_format_rar.c
in Utilities/cmlibarchive/libarchive
2489 1
archive_read_support_format_iso9660.c
in Utilities/cmlibarchive/libarchive
2460 1
cxx
cmQtAutoMocUic.cxx
in Source
2439 63
cxx
cmGlobalNinjaGenerator.cxx
in Source
2406 88
multi.c
in Utilities/cmcurl/lib
2398 67
cxx
cmGeneratorExpressionNode.cxx
in Source
2341 119
cmake
FindBoost.cmake
in Modules
2306 -
libssh.c
in Utilities/cmcurl/lib/vssh
2252 31
archive_read_support_format_lha.c
in Utilities/cmlibarchive/libarchive
2180 1
ProcessUNIX.c
in Source/kwsys
2146 58
cxx
cmCTestTestHandler.cxx
in Source/CTest
2098 61
archive_string_composition.h
in Utilities/cmlibarchive/libarchive
2085 -
cxx
cmFindPackageCommand.cxx
in Source
2064 64
Files With Most Units (Top 20)
File# lines# units
cxx
cmGeneratorTarget.cxx
in Source
6513 253
zstd_compress.c
in Utilities/cmzstd/lib/compress
5002 184
nghttp2_session.c
in Utilities/cmnghttp2/lib
5595 166
cxx
cmMakefile.cxx
in Source
3656 154
cxx
SystemInformation.cxx
in Source/kwsys
4450 142
cxx
cmCTest.cxx
in Source
3203 123
cxx
cmGeneratorExpressionNode.cxx
in Source
2341 119
cxx
cmGlobalGenerator.cxx
in Source
2679 118
cxx
cmLocalGenerator.cxx
in Source
3647 115
cxx
cmVisualStudio10TargetGenerator.cxx
in Source
4417 115
cxx
cmSystemTools.cxx
in Source
2807 113
cxx
SystemTools.cxx
in Source/kwsys
3844 108
cxx
cmGlobalXCodeGenerator.cxx
in Source
4068 102
json_value.cpp
in Utilities/cmjsoncpp/src/lib_json
1372 97
fs.c
in Utilities/cmlibuv/src/win
2588 97
archive_read_support_format_rar5.c
in Utilities/cmlibarchive/libarchive
2623 92
cxx
cmState.cxx
in Source
932 91
cxx
cmake.cxx
in Source
3055 91
frm_driver.c
in Source/CursesDialog/form
2056 88
cxx
cmGlobalNinjaGenerator.cxx
in Source
2406 88
Files With Long Lines (Top 20)

There are 298 files with lines longer than 120 characters. In total, there are 1475 long lines.

File# lines# units# long lines
in
CPack.background.png.in
in Modules/Internal/CPack
315 - 122
cmake
Support.cmake
in Modules/FindPython
3032 - 98
cmake
FindMPI.cmake
in Modules
1675 - 63
zstd_compress.c
in Utilities/cmzstd/lib/compress
5002 184 49
cmake
FindBoost.cmake
in Modules
2306 - 38
cmake
FindQt4.cmake
in Modules
1136 - 26
cmake
CPackRPM.cmake
in Modules/Internal/CPack
1688 - 26
cmake
FindMatlab.cmake
in Modules
1600 - 23
huf.h
in Utilities/cmzstd/lib/common
170 - 22
cmake
FindCUDA.cmake
in Modules
1829 - 21
zstd_decompress.c
in Utilities/cmzstd/lib/decompress
1667 76 21
cmake
FindGTK2.cmake
in Modules
815 - 19
fse.h
in Utilities/cmzstd/lib/common
246 12 19
cmake
CMakeDetermineCompilerId.cmake
in Modules
1042 - 18
cmake
Windows-MSVC.cmake
in Modules/Platform
444 - 17
zstd.h
in Utilities/cmzstd/lib
554 - 17
cmake
FindPkgConfig.cmake
in Modules
819 - 16
cmake
CPackDeb.cmake
in Modules/Internal/CPack
703 - 16
cmake
UseSWIG.cmake
in Modules
870 - 16
zstd_lazy.c
in Utilities/cmzstd/lib/compress
1725 74 15