microsoft / cpp_client_telemetry
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 735 files with 447,772 lines of code.
    • 22 very long files (353,691 lines of code)
    • 37 long files (26,141 lines of code)
    • 123 medium size files (40,293 lines of codeclsfd_ftr_w_mp_ins)
    • 86 small files (12,558 lines of code)
    • 467 very small files (15,089 lines of code)
78% | 5% | 8% | 2% | 3%
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
c96% | <1% | 1% | <1% | <1%
h56% | 19% | 10% | 6% | 6%
hpp53% | 5% | 13% | 10% | 16%
cc48% | 30% | 15% | 0% | 5%
cpp12% | 23% | 33% | 20% | 9%
py21% | 44% | 20% | 5% | 7%
vcxproj9% | 24% | 64% | 0% | 1%
S50% | 0% | 49% | 0% | 0%
java0% | 21% | 39% | 7% | 31%
com0% | 97% | 0% | 0% | 2%
asm0% | 41% | 58% | 0% | 0%
adb0% | 37% | 22% | 34% | 5%
in0% | 0% | 94% | 0% | 5%
pas0% | 0% | 99% | 0% | <1%
mm0% | 0% | 45% | 38% | 16%
cs0% | 0% | 31% | 21% | 46%
ads0% | 0% | 87% | 0% | 12%
cmakein0% | 0% | 97% | 0% | 2%
inc0% | 0% | 100% | 0% | 0%
cmake0% | 0% | 48% | 0% | 51%
filters0% | 0% | 0% | 41% | 58%
ps10% | 0% | 0% | 44% | 55%
cmd0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
clp0% | 0% | 0% | 0% | 100%
go0% | 0% | 0% | 0% | 100%
sas0% | 0% | 0% | 0% | 100%
mms0% | 0% | 0% | 0% | 100%
targets0% | 0% | 0% | 0% | 100%
shproj0% | 0% | 0% | 0% | 100%
pro0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
sqlite99% | <1% | 0% | 0% | <1%
googletest55% | 27% | 9% | 2% | 4%
lib32% | 13% | 24% | 14% | 15%
zlib20% | 16% | 49% | 7% | 4%
Solutions0% | 29% | 54% | 4% | 10%
wrappers0% | 0% | 41% | 17% | 41%
tools0% | 0% | 36% | 6% | 56%
sqliteUWP0% | 0% | 92% | 0% | 7%
ROOT0% | 0% | 0% | 29% | 70%
docker0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
sqlite3_debug.c
in sqlite
145137 3226
sqlite3_retail.c
in sqlite
144339 3226
shell.c
in sqlite
16377 405
json.hpp
in lib/include/mat
14620 488
gtest-param-util-generated.h
in googletest/googletest/include/gtest/internal
4562 105
gtest.cc
in googletest/googletest/src
3440 257
gtest-type-util.h
in googletest/googletest/include/gtest/internal
3082 1
gmock-matchers.h
in googletest/googlemock/include/gmock
2713 305
gmock-generated-actions.h
in googletest/googlemock/include/gmock
1919 83
gmock-generated-matchers.h
in googletest/googlemock/include/gmock
1752 53
sqlite3.h
in sqlite
1668 -
LogManager_jni.cpp
in lib/jni
1520 8
deflate.c
in zlib
1508 35
zip.c
in zlib/contrib/minizip
1504 39
unzip.c
in zlib/contrib/minizip
1458 44
gtest-port.h
in googletest/googletest/include/gtest/internal
1251 80
ast.py
in googletest/googlemock/scripts/generator/cpp
1223 155
vcxproj
zlibvc.vcxproj
in zlib/contrib/vstudio/vc14
1218 -
inflate.c
in zlib
1205 23
S
inffast.S
in zlib/contrib/inflate86
1147 -
OfflineStorage_Room.cpp
in lib/offline
1033 20
gtest-param-test.h
in googletest/googletest/include/gtest
1015 19
gmock-spec-builders.h
in googletest/googlemock/include/gmock
975 48
upload.py
in googletest/googlemock/scripts
949 49
upload.py
in googletest/googletest/scripts
949 49
Logger.java
in lib/android_build/maesdk/src/main/java/com/microsoft/applications/events
938 38
inffas86.c
in zlib/contrib/inflate86
898 1
com
make_vms.com
in zlib
857 -
OfflineStorage_SQLite.cpp
in lib/offline
855 25
gtest.h
in googletest/googletest/include/gtest
852 61
gtest-port.cc
in googletest/googletest/src
841 64
gtest-death-test.cc
in googletest/googletest/src
836 39
gmock-generated-function-mockers.h
in googletest/googlemock/include/gmock
824 32
inffas32.asm
in zlib/contrib/masmx86
813 -
CsProtocol_types.hpp
in lib/include/public
780 -
gtest-tuple.h
in googletest/googletest/include/gtest/internal
752 45
trees.c
in zlib
745 23
LogManagerImpl.cpp
in lib/api
744 43
Logger.cpp
in lib/api
740 35
EventProperty.cpp
in lib/system
735 10
vcxproj
zlibvc.vcxproj
in zlib/contrib/vstudio/vc11
688 -
vcxproj
win32-mini-lib.vcxproj
in Solutions/win32-mini-lib
681 -
vcxproj
zlibvc.vcxproj
in zlib/contrib/vstudio/vc10
657 -
SQLiteWrapper.hpp
in lib/offline
654 65
gmock-actions.h
in googletest/googlemock/include/gmock
646 82
gtest-internal.h
in googletest/googletest/include/gtest/internal
614 41
pump.py
in googletest/googletest/scripts
603 72
vcxproj
sqlite.vcxproj
in sqlite
595 -
adb
zlib.adb
in zlib/contrib/ada
575 -
sqlite3ext.h
in sqlite
573 -
Files With Most Units (Top 20)
File# lines# units
sqlite3_debug.c
in sqlite
145137 3226
sqlite3_retail.c
in sqlite
144339 3226
json.hpp
in lib/include/mat
14620 488
shell.c
in sqlite
16377 405
gmock-matchers.h
in googletest/googlemock/include/gmock
2713 305
gtest.cc
in googletest/googletest/src
3440 257
ast.py
in googletest/googlemock/scripts/generator/cpp
1223 155
gtest-param-util-generated.h
in googletest/googletest/include/gtest/internal
4562 105
NullObjects.hpp
in lib/include/public
284 96
gmock-generated-actions.h
in googletest/googlemock/include/gmock
1919 83
gmock-actions.h
in googletest/googlemock/include/gmock
646 82
gtest-port.h
in googletest/googletest/include/gtest/internal
1251 80
pump.py
in googletest/googletest/scripts
603 72
EventProperties.java
in lib/android_build/maesdk/src/main/java/com/microsoft/applications/events
260 65
SQLiteWrapper.hpp
in lib/offline
654 65
gtest-port.cc
in googletest/googletest/src
841 64
gtest.h
in googletest/googletest/include/gtest
852 61
gtest-printers.h
in googletest/googletest/include/gtest
520 58
gmock-generated-matchers.h
in googletest/googlemock/include/gmock
1752 53
LogManager.java
in lib/android_build/maesdk/src/main/java/com/microsoft/applications/events
453 53
Files With Long Lines (Top 20)

There are 213 files with lines longer than 120 characters. In total, there are 2303 long lines.

File# lines# units# long lines
json.hpp
in lib/include/mat
14620 488 271
vcxproj
win32-mini-lib.vcxproj
in Solutions/win32-mini-lib
681 - 158
vcxproj
win32-lib.vcxproj
in Solutions/win32-lib
539 - 102
vcxproj
win32-mini-dll.vcxproj
in Solutions/win32-mini-dll
393 - 70
vcxproj
zlibvc.vcxproj
in zlib/contrib/vstudio/vc10
657 - 56
vcxproj
zlibvc.vcxproj
in zlib/contrib/vstudio/vc11
688 - 56
vcxproj
zlibvc.vcxproj
in zlib/contrib/vstudio/vc14
1218 - 56
vcxproj
win10-lib.vcxproj
in Solutions/win10-lib
381 - 49
vcxproj
win32-dll.vcxproj
in Solutions/win32-dll
339 - 49
vcxproj
win10-cs.vcxproj
in Solutions/win10-cs
415 - 48
vcxproj
win10-dll.vcxproj
in Solutions/win10-dll
428 - 48
sqlite3_debug.c
in sqlite
145137 3226 47
sqlite3_retail.c
in sqlite
144339 3226 47
vcxproj
net40.vcxproj
in Solutions/net40
295 - 45
vcxproj
zlibstat.vcxproj
in zlib/contrib/vstudio/vc10
473 - 42
vcxproj
zlibstat.vcxproj
in zlib/contrib/vstudio/vc11
464 - 42
vcxproj
zlibstat.vcxproj
in zlib/contrib/vstudio/vc14
431 - 42
vcxproj
testzlib.vcxproj
in zlib/contrib/vstudio/vc10
420 - 35
vcxproj
testzlib.vcxproj
in zlib/contrib/vstudio/vc11
426 - 35
vcxproj
testzlib.vcxproj
in zlib/contrib/vstudio/vc14
426 - 35