microsoft / perfview
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 381 files with 274,859 lines of code.
    • 59 very long files (209,275 lines of code)
    • 45 long files (30,614 lines of code)
    • 65 medium size files (20,947 lines of codeclsfd_ftr_w_mp_ins)
    • 58 small files (8,356 lines of code)
    • 154 very small files (5,667 lines of code)
76% | 11% | 7% | 3% | 2%
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
cs76% | 11% | 7% | 2% | 1%
htm92% | 0% | 2% | 4% | 0%
man96% | 0% | 3% | 0% | 0%
h0% | 75% | 0% | 12% | 11%
cpp0% | 82% | 0% | 0% | 17%
xaml0% | 0% | 62% | 12% | 25%
vcxproj0% | 0% | 0% | 100% | 0%
html0% | 0% | 0% | 100% | 0%
XML0% | 0% | 0% | 100% | 0%
props0% | 0% | 0% | 0% | 100%
filters0% | 0% | 0% | 0% | 100%
asm0% | 0% | 0% | 0% | 100%
targets0% | 0% | 0% | 0% | 100%
TXT0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/TraceEvent88% | 6% | 3% | <1% | <1%
src/PerfView64% | 13% | 14% | 4% | 2%
src/HeapDump74% | 10% | 8% | 3% | 2%
src/CSVReader29% | 35% | 16% | 15% | 3%
src/FastSerialization42% | 35% | 15% | 4% | 2%
src/TraceParserGen47% | 31% | 8% | 9% | 3%
src/MemoryGraph89% | 0% | 10% | 0% | 0%
src/related40% | 20% | 15% | 17% | 6%
src/EtwClrProfiler0% | 58% | 8% | 15% | 17%
src/EtwHeapDump0% | 82% | 0% | 17% | 0%
src/PerfViewExtensions0% | 0% | 75% | 24% | 0%
src/Utilities0% | 0% | 32% | 35% | 31%
src/HeapDumpCommon0% | 0% | 0% | 100% | 0%
src/PerfView.TestUtilities0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
src0% | 0% | 0% | 0% | 100%
src/PerfView640% | 0% | 0% | 0% | 100%
src/NugetSupportFiles0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
Microsoft-Windows-TCPIP.cs
in src/TraceEvent/Parsers
18856 1245
ApplicationServerTraceEventParser.cs
in src/TraceEvent/Parsers
14692 607
IisTraceEventParser.cs
in src/TraceEvent/Parsers
13425 1040
KernelTraceEventParser.cs
in src/TraceEvent/Parsers
12217 512
ClrTraceEventParser.cs
in src/TraceEvent/Parsers
11954 596
WpfTraceEventParser.cs
in src/TraceEvent/Parsers
9350 665
UsersGuide.htm
in src/PerfView/SupportFiles
9136 -
FrameworkTraceEventParser.cs
in src/TraceEvent/Parsers
9112 730
PerfViewData.cs
in src/PerfView
8369 218
TraceLog.cs
in src/TraceEvent
8098 284
man
ClrEtwAll.man
in src/TraceEvent/Parsers
6016 -
ASPNetTraceEventParser.cs
in src/TraceEvent/Parsers
4886 327
ClrPrivateTraceEventParser.cs
in src/TraceEvent/Parsers
4499 183
AntimalwareEngineParser.cs
in src/TraceEvent/Parsers
3788 266
StackWindow.xaml.cs
in src/PerfView/StackViewer
3754 141
JScriptTraceEventParser.cs
in src/TraceEvent/Parsers
3735 147
TraceManagedProcess.cs
in src/TraceEvent/Computers
3383 95
CommandProcessor.cs
in src/PerfView
3359 68
TraceEvent.cs
in src/TraceEvent
3304 137
GCHeapDumper.cs
in src/HeapDump
2696 58
TraceEventSession.cs
in src/TraceEvent
2382 51
HResults.cs
in src/HeapDump/Debugger/DumpDebugging
2235 -
DynamicTraceEventParser.cs
in src/TraceEvent
2153 55
graph.cs
in src/MemoryGraph
2110 82
SymbolReader.cs
in src/TraceEvent/Symbols
1802 29
Extensibility.cs
in src/PerfView
1741 64
TplTraceEventParser.cs
in src/TraceEvent/Parsers
1588 116
ICorDebugWrappers.cs
in src/HeapDump/Debugger
1565 11
FastSerialization.cs
in src/FastSerialization
1535 104
NativeSymbolModule.cs
in src/TraceEvent/Symbols
1524 26
EventWindow.xaml.cs
in src/PerfView/EventViewer
1517 49
UserCommands.cs
in src/PerfView
1509 57
Stack.cs
in src/CSVReader/ETLStackBrowse
1490 22
CallTree.cs
in src/TraceEvent/Stacks
1486 60
commandLine.cs
in src/PerfView/Utilities
1431 45
GcStats.cs
in src/PerfView
1418 28
ETWClrProfilerTraceEventParser.cs
in src/PerfView/memory
1396 105
ClrProfilerParser.cs
in src/PerfView/memory
1384 49
commandLine.cs
in src/HeapDump/Utilities
1344 41
DumpReader.cs
in src/HeapDump/Debugger/DumpDebugging
1330 85
Triggers.cs
in src/PerfView
1322 33
Toolbox.cs
in src/PerfView/HeapView
1285 84
Trace.cs
in src/CSVReader/ETLStackBrowse
1264 32
InteropTraceEventParser.cs
in src/PerfView
1226 94
StartStopActivityComputer.cs
in src/TraceEvent/Computers
1210 29
CommandLine.cs
in src/TraceParserGen/Library/Util
1204 38
EventPipeEventSource.cs
in src/TraceEvent/EventPipe
1202 42
PEFile.cs
in src/TraceEvent/TraceUtilities
1199 27
PerfViewTraceEventParser.cs
in src/PerfView
1178 72
App.cs
in src/PerfView
1121 22
Files With Most Units (Top 20)
File# lines# units
Microsoft-Windows-TCPIP.cs
in src/TraceEvent/Parsers
18856 1245
IisTraceEventParser.cs
in src/TraceEvent/Parsers
13425 1040
FrameworkTraceEventParser.cs
in src/TraceEvent/Parsers
9112 730
WpfTraceEventParser.cs
in src/TraceEvent/Parsers
9350 665
ApplicationServerTraceEventParser.cs
in src/TraceEvent/Parsers
14692 607
ClrTraceEventParser.cs
in src/TraceEvent/Parsers
11954 596
KernelTraceEventParser.cs
in src/TraceEvent/Parsers
12217 512
ASPNetTraceEventParser.cs
in src/TraceEvent/Parsers
4886 327
TraceLog.cs
in src/TraceEvent
8098 284
AntimalwareEngineParser.cs
in src/TraceEvent/Parsers
3788 266
PerfViewData.cs
in src/PerfView
8369 218
ClrPrivateTraceEventParser.cs
in src/TraceEvent/Parsers
4499 183
JScriptTraceEventParser.cs
in src/TraceEvent/Parsers
3735 147
StackWindow.xaml.cs
in src/PerfView/StackViewer
3754 141
TraceEvent.cs
in src/TraceEvent
3304 137
TplTraceEventParser.cs
in src/TraceEvent/Parsers
1588 116
ETWClrProfilerTraceEventParser.cs
in src/PerfView/memory
1396 105
FastSerialization.cs
in src/FastSerialization
1535 104
TraceManagedProcess.cs
in src/TraceEvent/Computers
3383 95
InteropTraceEventParser.cs
in src/PerfView
1226 94
Files With Long Lines (Top 20)

There are 246 files with lines longer than 120 characters. In total, there are 12592 long lines.

File# lines# units# long lines
ApplicationServerTraceEventParser.cs
in src/TraceEvent/Parsers
14692 607 1432
Microsoft-Windows-TCPIP.cs
in src/TraceEvent/Parsers
18856 1245 913
man
ClrEtwAll.man
in src/TraceEvent/Parsers
6016 - 770
ClrTraceEventParser.cs
in src/TraceEvent/Parsers
11954 596 711
KernelTraceEventParser.cs
in src/TraceEvent/Parsers
12217 512 711
IisTraceEventParser.cs
in src/TraceEvent/Parsers
13425 1040 539
PerfViewData.cs
in src/PerfView
8369 218 473
UsersGuide.htm
in src/PerfView/SupportFiles
9136 - 420
WpfTraceEventParser.cs
in src/TraceEvent/Parsers
9350 665 395
FrameworkTraceEventParser.cs
in src/TraceEvent/Parsers
9112 730 394
JScriptTraceEventParser.cs
in src/TraceEvent/Parsers
3735 147 359
ClrPrivateTraceEventParser.cs
in src/TraceEvent/Parsers
4499 183 348
AntimalwareEngineParser.cs
in src/TraceEvent/Parsers
3788 266 335
CtfTraceEventSource.cs
in src/TraceEvent/Ctf
689 18 334
TraceLog.cs
in src/TraceEvent
8098 284 303
ASPNetTraceEventParser.cs
in src/TraceEvent/Parsers
4886 327 210
CommandProcessor.cs
in src/PerfView
3359 68 209
ICorDebugWrappers.cs
in src/HeapDump/Debugger
1565 11 151
GcStats.cs
in src/PerfView
1418 28 146
TraceEventSession.cs
in src/TraceEvent
2382 51 112