microsoft / clrmd
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 685 files with 45,709 lines of code.
    • 1 very long files (1,214 lines of code)
    • 11 long files (7,933 lines of code)
    • 42 medium size files (12,596 lines of codeclsfd_ftr_w_mp_ins)
    • 59 small files (8,395 lines of code)
    • 572 very small files (15,571 lines of code)
2% | 17% | 27% | 18% | 34%
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
cs3% | 16% | 27% | 17% | 34%
ps10% | 23% | 24% | 27% | 24%
yml0% | 22% | 16% | 19% | 41%
psm10% | 0% | 100% | 0% | 0%
cmake0% | 0% | 100% | 0% | 0%
proj0% | 0% | 0% | 88% | 11%
targets0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
psd10% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/Microsoft.Diagnostics.Runtime/src5% | 7% | 26% | 21% | 39%
src/Microsoft.Diagnostics.Runtime.Utilities/Debugger0% | 34% | 30% | 11% | 23%
eng/common0% | 41% | 12% | 28% | 17%
eng/common/templates0% | 23% | 17% | 15% | 43%
eng/common/post-build0% | 0% | 65% | 0% | 34%
src/TestTasks/src0% | 0% | 88% | 0% | 11%
eng/common/native0% | 0% | 75% | 24% | 0%
eng/common/cross0% | 0% | 100% | 0% | 0%
eng/common/sdl0% | 0% | 0% | 54% | 45%
src/TestTargets0% | 0% | 0% | 95% | 4%
src/LongRunningTests/ParallelStressTest0% | 0% | 0% | 89% | 10%
ROOT0% | 0% | 0% | 75% | 25%
src/Benchmarks0% | 0% | 0% | 0% | 100%
eng0% | 0% | 0% | 0% | 100%
src/Microsoft.Diagnostics.Runtime.Utilities0% | 0% | 0% | 0% | 100%
src/TestTargets/FinalizationQueue0% | 0% | 0% | 0% | 100%
src/TestTargets/ByReference0% | 0% | 0% | 0% | 100%
src/TestTargets/NestedTypes0% | 0% | 0% | 0% | 100%
src/TestTargets/Types0% | 0% | 0% | 0% | 100%
src/TestTargets/GCRoot0% | 0% | 0% | 0% | 100%
src/TestTargets/Arrays0% | 0% | 0% | 0% | 100%
src/TestTargets/Shared0% | 0% | 0% | 0% | 100%
src/TestTargets/NestedException0% | 0% | 0% | 0% | 100%
src/TestTargets/GCHandles0% | 0% | 0% | 0% | 100%
src/TestTargets/GCRoot20% | 0% | 0% | 0% | 100%
src/TestTargets/ClrObjects0% | 0% | 0% | 0% | 100%
src/TestTargets/AppDomains0% | 0% | 0% | 0% | 100%
src/Microsoft.Diagnostics.Runtime0% | 0% | 0% | 0% | 100%
eng/common/internal0% | 0% | 0% | 0% | 100%
src/Microsoft.Diagnostics.Runtime/Properties0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
RuntimeBuilder.cs
in src/Microsoft.Diagnostics.Runtime/src/Builders
1214 23
IDebugControl6.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
871 -
IDebugControl5.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
865 -
IDebugSymbols5.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
827 -
IDebugControl4.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
825 -
IDebugSymbols4.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
817 -
tools.ps1
in eng/common
757 -
IDebugSymbols3.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
757 -
SosDac.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
589 54
SigParser.cs
in src/Microsoft.Diagnostics.Runtime/src/Utilities/SigParser
553 32
DACNameParser.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
543 18
post-build.yml
in eng/common/templates/post-build
529 -
IDebugControl3.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
487 -
IDebugControl2.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
468 -
ClrmdHeap.cs
in src/Microsoft.Diagnostics.Runtime/src/Implementation
457 20
IDebugControl.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
436 -
IDebugClient6.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
415 -
IDebugClient5.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
412 -
MacOSProcessDataReader.cs
in src/Microsoft.Diagnostics.Runtime/src/DataReaders/MacOS
371 11
ClrmdType.cs
in src/Microsoft.Diagnostics.Runtime/src/Implementation
370 10
Debugger.cs
in src/TestTasks/src
365 34
Minidump.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
363 14
GCRoot.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
361 14
CommonLibrary.psm1
in eng/common/native
344 -
PEImage.cs
in src/Microsoft.Diagnostics.Runtime/src/Utilities/PEImage
336 16
DataTarget.cs
in src/Microsoft.Diagnostics.Runtime/src/DataTargets
331 12
IDebugSymbols2.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
323 -
LinuxLiveDataReader.cs
in src/Microsoft.Diagnostics.Runtime/src/Linux
313 14
IDebugDataSpaces4.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
294 -
CacheEntryBase.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
294 10
Command.cs
in src/Microsoft.Diagnostics.Runtime/src/Utilities/Command
290 10
IDebugDataSpaces.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
289 1
SymbolServerLocator.cs
in src/Microsoft.Diagnostics.Runtime/src/Implementation
285 12
IDebugClient4.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
280 -
symbols-validation.ps1
in eng/common/post-build
278 -
IDebugSymbols.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
278 -
DacDataTargetWrapper.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
271 15
MachOCoreDump.cs
in src/Microsoft.Diagnostics.Runtime/src/MacOS
271 11
sourcelink-validation.ps1
in eng/common/post-build
265 -
MetadataImport.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
257 16
IDebugClient3.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
245 -
WindowsProcessDataReader.cs
in src/Microsoft.Diagnostics.Runtime/src/DataReaders/Windows
238 9
CacheNativeMethods.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
237 14
DbgEngDataReader.cs
in src/Microsoft.Diagnostics.Runtime/src/DataReaders/DbgEng
233 14
cmake
toolchain.cmake
in eng/common/cross
231 -
pipeline-logging-functions.ps1
in eng/common
231 -
IDebugDataSpaces3.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
218 -
IDebugClient2.cs
in src/Microsoft.Diagnostics.Runtime.Utilities/Debugger
216 -
ClrmdField.cs
in src/Microsoft.Diagnostics.Runtime/src/Implementation
214 10
ClrArray.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
212 16
Files With Most Units (Top 20)
File# lines# units
SosDac.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
589 54
Debugger.cs
in src/TestTasks/src
365 34
SigParser.cs
in src/Microsoft.Diagnostics.Runtime/src/Utilities/SigParser
553 32
RuntimeBuilder.cs
in src/Microsoft.Diagnostics.Runtime/src/Builders
1214 23
ClrmdHeap.cs
in src/Microsoft.Diagnostics.Runtime/src/Implementation
457 20
ClrObject.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
188 18
DACNameParser.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
543 18
ClrArray.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
212 16
MetadataImport.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
257 16
PEImage.cs
in src/Microsoft.Diagnostics.Runtime/src/Utilities/PEImage
336 16
DacDataTargetWrapper.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
271 15
GCRoot.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
361 14
MemoryReader.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
128 14
DbgEngDataReader.cs
in src/Microsoft.Diagnostics.Runtime/src/DataReaders/DbgEng
233 14
LinuxLiveDataReader.cs
in src/Microsoft.Diagnostics.Runtime/src/Linux
313 14
CommandOptions.cs
in src/Microsoft.Diagnostics.Runtime/src/Utilities/Command
167 14
CacheNativeMethods.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
237 14
Minidump.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
363 14
CoreDumpReader.cs
in src/Microsoft.Diagnostics.Runtime/src/DataReaders/Core
160 13
DataTarget.cs
in src/Microsoft.Diagnostics.Runtime/src/DataTargets
331 12
Files With Long Lines (Top 20)

There are 154 files with lines longer than 120 characters. In total, there are 777 long lines.

File# lines# units# long lines
SosDac.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
589 54 46
RuntimeBuilder.cs
in src/Microsoft.Diagnostics.Runtime/src/Builders
1214 23 37
execute-all-sdl-tools.ps1
in eng/common/sdl
150 - 34
tools.ps1
in eng/common
757 - 27
DACNameParser.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
543 18 24
CacheNativeMethods.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
237 14 23
MacOSProcessDataReader.cs
in src/Microsoft.Diagnostics.Runtime/src/DataReaders/MacOS
371 11 19
MetadataImport.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
257 16 17
AWEBasedCacheEntryFactory.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
85 4 17
Minidump.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
363 14 16
GlobalSuppressions.cs
in src/Microsoft.Diagnostics.Runtime
17 - 15
DataTarget.cs
in src/Microsoft.Diagnostics.Runtime/src/DataTargets
331 12 15
AWEBasedCacheEntry.cs
in src/Microsoft.Diagnostics.Runtime/src/Windows
188 7 15
WindowsProcessDataReader.cs
in src/Microsoft.Diagnostics.Runtime/src/DataReaders/Windows
238 9 14
Debugger.cs
in src/TestTasks/src
365 34 13
GCRoot.cs
in src/Microsoft.Diagnostics.Runtime/src/Common
361 14 12
symbols-validation.ps1
in eng/common/post-build
278 - 11
sourcelink-validation.ps1
in eng/common/post-build
265 - 10
DacDataTargetWrapper.cs
in src/Microsoft.Diagnostics.Runtime/src/DacInterface
271 15 10
SetupNugetSources.ps1
in eng/common
142 - 9