microsoft / BPerf
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 1,405 files with 244,948 lines of code.
    • 48 very long files (113,442 lines of code)
    • 72 long files (49,421 lines of code)
    • 116 medium size files (36,473 lines of codeclsfd_ftr_w_mp_ins)
    • 129 small files (18,259 lines of code)
    • 1,040 very small files (27,353 lines of code)
46% | 20% | 14% | 7% | 11%
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
h60% | 15% | 12% | 4% | 7%
cpp52% | 28% | 11% | 4% | 3%
inl51% | 23% | 17% | 3% | 5%
cmake96% | 0% | 0% | 0% | 3%
cs10% | 26% | 25% | 12% | 24%
c0% | 22% | 24% | 18% | 34%
hpp0% | 47% | 23% | 19% | 9%
man0% | 11% | 31% | 34% | 22%
tex0% | 0% | 34% | 15% | 50%
S0% | 0% | 19% | 28% | 52%
pl0% | 0% | 84% | 0% | 15%
inc0% | 0% | 34% | 51% | 13%
in0% | 0% | 37% | 25% | 37%
cshtml0% | 0% | 0% | 0% | 100%
vcxproj0% | 0% | 0% | 0% | 100%
ps10% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
targets0% | 0% | 0% | 0% | 100%
py0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
CoreCLRProfiler/native47% | 20% | 14% | 7% | 10%
CPUSamplesCollector/Windows59% | 0% | 26% | 0% | 13%
WebViewer/Microsoft.Diagnostics.Tracing.Stacks33% | 35% | 26% | 0% | 4%
WebViewer/Microsoft.BPerf.StackInformation.Etw0% | 73% | 0% | 18% | 7%
WebViewer/Microsoft.BPerf.Internal.CabExtraction0% | 39% | 56% | 0% | 4%
WebViewer/Microsoft.BPerf.SymbolicInformation.ProgramDatabase0% | 0% | 51% | 34% | 14%
WebViewer/Microsoft.BPerf.StackViewer0% | 0% | 17% | 17% | 64%
CoreCLRProfiler/managed0% | 0% | 100% | 0% | 0%
CPUSamplesCollector/Linux0% | 0% | 12% | 27% | 60%
WebViewer/Microsoft.BPerf.ModuleInformation.Abstractions0% | 0% | 0% | 0% | 100%
WebViewer/Microsoft.BPerf.StackAggregation0% | 0% | 0% | 0% | 100%
WebViewer/Microsoft.BPerf.SymbolicInformation.Interfaces0% | 0% | 0% | 0% | 100%
WebViewer/Microsoft.BPerf.SymbolServer.Interfaces0% | 0% | 0% | 0% | 100%
WebViewer/Microsoft.BPerf.PdbSymbolReader.Interfaces0% | 0% | 0% | 0% | 100%
WebViewer0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
corprof.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/prebuilt/inc
14163 -
cordebug.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/prebuilt/inc
11706 -
xclrdata.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/prebuilt/inc
5510 -
corsym.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/prebuilt/inc
3863 -
pal.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc
3657 18
utilcode.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
3378 162
cvinfo.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
3317 17
process.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/thread
3292 18
cvconst.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
3264 -
synchmanager.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/synchmgr
3110 66
file.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/file
3051 8
safecrt.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc/rt
2566 61
unicodedata.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/locale
2353 -
contxt.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
2215 -
map.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/map
1993 19
utf8.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/locale
1961 68
thread.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/thread
1960 6
sospriv.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/prebuilt/inc
1934 -
strsafe.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc
1813 46
mscorsvc.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/prebuilt/inc
1712 -
Program.cpp
in CPUSamplesCollector/Windows/lib
1676 47
cor.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1667 26
corinfo.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1640 18
inl
sstring.inl
in CoreCLRProfiler/native/coreclr_headers/src/inc
1639 115
remote-unwind.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/exception
1546 4
virtual.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/map
1542 24
sal.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc/rt
1512 -
metamodelpub.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1479 131
printfcpp.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/cruntime
1425 10
formattype.cpp
in CoreCLRProfiler/native/coreclr_headers/src/inc
1421 9
contract.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1384 70
inl
sbuffer.inl
in CoreCLRProfiler/native/coreclr_headers/src/inc
1296 88
ntimage.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc/rt
1261 -
daccess.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1250 62
synchcontrollers.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/synchmgr
1244 29
corhdr.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1239 -
cmake
configure.cmake
in CoreCLRProfiler/native/coreclr_headers/src/pal/src
1238 -
CallTree.cs
in WebViewer/Microsoft.Diagnostics.Tracing.Stacks
1236 59
mutex.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/synchobj
1211 26
inl
pedecoder.inl
in CoreCLRProfiler/native/coreclr_headers/src/inc
1183 70
eventtracebase.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1156 69
perftrace.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/misc
1097 2
module.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/loader
1088 16
metadata.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1068 32
inl
output.inl
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/safecrt
1057 5
context.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/thread
1052 7
corcompile.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1012 13
palrt.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc/rt
1005 5
machmessage.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/exception
1000 33
cs.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/sync
988 26
Files With Most Units (Top 20)
File# lines# units
utilcode.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
3378 162
BPerfProfilerCallback.cpp
in CoreCLRProfiler/native
797 135
metamodelpub.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1479 131
inl
sstring.inl
in CoreCLRProfiler/native/coreclr_headers/src/inc
1639 115
holder.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
947 92
inl
sbuffer.inl
in CoreCLRProfiler/native/coreclr_headers/src/inc
1296 88
fixuppointer.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
763 85
contract.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1384 70
corhlpr.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
464 70
inl
pedecoder.inl
in CoreCLRProfiler/native/coreclr_headers/src/inc
1183 70
eventtracebase.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1156 69
utf8.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/locale
1961 68
synchmanager.cpp
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/synchmgr
3110 66
daccess.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1250 62
safecrt.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc/rt
2566 61
stgpool.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
855 60
CallTree.cs
in WebViewer/Microsoft.Diagnostics.Tracing.Stacks
1236 59
ex.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
697 57
shash.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
643 54
Stacks.cs
in WebViewer/Microsoft.Diagnostics.Tracing.Stacks
690 54
Files With Long Lines (Top 20)

There are 224 files with lines longer than 120 characters. In total, there are 2582 long lines.

File# lines# units# long lines
sal.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc/rt
1512 - 685
clrconfigvalues.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
521 - 335
corprof.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/prebuilt/inc
14163 - 221
Program.cpp
in CPUSamplesCollector/Windows/lib
1676 47 99
Program.cs
in CoreCLRProfiler/managed
321 15 74
specstrings.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc/rt
352 - 66
corinfoinstructionset.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
613 12 48
strsafe.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/inc
1813 46 45
corhdr.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1239 - 34
cortypeinfo.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
35 - 34
stresslog.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
633 22 30
corsym.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/prebuilt/inc
3863 - 30
BPerfProfilerCallback.cpp
in CoreCLRProfiler/native
797 135 28
internal.h
in CoreCLRProfiler/native/coreclr_headers/src/pal/src/safecrt
708 13 24
CallTree.cs
in WebViewer/Microsoft.Diagnostics.Tracing.Stacks
1236 59 24
eventtracebase.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1156 69 23
BPerfProfilerCallback.h
in CoreCLRProfiler/native
285 3 22
EtwDeserializer.cs
in WebViewer/Microsoft.BPerf.StackInformation.Etw
730 28 22
contract.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
1384 70 20
jithelpers.h
in CoreCLRProfiler/native/coreclr_headers/src/inc
267 - 20