microsoft / CLRInstrumentationEngine
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 439 files with 79,480 lines of code.
    • 15 very long files (44,398 lines of code)
    • 13 long files (8,676 lines of code)
    • 34 medium size files (9,700 lines of codeclsfd_ftr_w_mp_ins)
    • 44 small files (6,377 lines of code)
    • 333 very small files (10,329 lines of code)
55% | 10% | 12% | 8% | 12%
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
h68% | 11% | 6% | 2% | 9%
cpp38% | 9% | 23% | 16% | 11%
cs0% | 38% | 31% | 0% | 29%
ps10% | 0% | 28% | 63% | 7%
psm10% | 0% | 100% | 0% | 0%
props0% | 0% | 43% | 0% | 56%
vcxproj0% | 0% | 0% | 73% | 26%
yaml0% | 0% | 0% | 0% | 100%
targets0% | 0% | 0% | 0% | 100%
wxi0% | 0% | 0% | 0% | 100%
wixproj0% | 0% | 0% | 0% | 100%
wxs0% | 0% | 0% | 0% | 100%
awk0% | 0% | 0% | 0% | 100%
filters0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/unix62% | 16% | 14% | 2% | 4%
inc/clr92% | 5% | 2% | 0% | <1%
src/InstrumentationEngine45% | 18% | 12% | 11% | 11%
src/InstrumentationEngine.Api95% | 0% | 0% | 1% | 2%
src/Common.Lib49% | 0% | 0% | 34% | 16%
src/Extensions.Base.Api0% | 67% | 0% | 0% | 32%
src/ExtensionsCommon0% | 0% | 36% | 11% | 52%
src/InstrumentationEngine.Lib0% | 0% | 19% | 34% | 46%
src/InstrumentationEngine.Attach0% | 0% | 93% | 0% | 6%
src/Extensions.BaseLib0% | 0% | 36% | 35% | 27%
src/InstrumentationEngine.ProfilerProxy0% | 0% | 66% | 31% | 1%
ROOT0% | 0% | 70% | 29% | 0%
build/Scripts0% | 0% | 83% | 0% | 16%
build0% | 0% | 30% | 0% | 69%
src/Scripts0% | 0% | 0% | 100% | 0%
src/TestHostExtension0% | 0% | 0% | 48% | 51%
src/InstrumentationEngine.ProfilerProxy.Lib0% | 0% | 0% | 33% | 66%
build/yaml0% | 0% | 0% | 0% | 100%
src/InstrumentationEngine.Installer0% | 0% | 0% | 0% | 100%
src/Common.Headers0% | 0% | 0% | 0% | 100%
src/Extensions.Base0% | 0% | 0% | 0% | 100%
build/Tasks0% | 0% | 0% | 0% | 100%
src/InstrumentationEngine.XdtExtensions0% | 0% | 0% | 0% | 100%
src/InstrumentationEngine.NuGet0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
corprof.h
in inc/clr/prof
11934 -
InstrumentationEngine.h
in src/InstrumentationEngine.Api
5995 -
Dbghelp.h
in src/unix/inc/winsdk
3603 -
atlcoll.h
in src/unix/inc/atl
3529 110
cvconst.h
in src/unix/inc
3454 -
ProfilerManager.cpp
in src/InstrumentationEngine
2788 165
cstringt.h
in src/unix/inc/atl
2480 150
AssemblyInjector.cpp
in src/InstrumentationEngine
1560 35
MethodInfo.cpp
in src/InstrumentationEngine
1492 58
atlcomcli.h
in src/unix/inc/atl
1381 65
Instruction.cpp
in src/InstrumentationEngine
1374 60
ImplQueryInterface.h
in src/Common.Lib
1369 41
atlconv.h
in src/unix/inc/atl
1274 94
LegacyActivationShim.h
in inc/clr/extra
1116 27
CorProfilerInfoWrapper.cpp
in src/InstrumentationEngine
1049 99
atlstr.h
in src/unix/inc/atl
942 77
InstructionGraph.cpp
in src/InstrumentationEngine
864 29
atlsimpstr.h
in src/unix/inc/atl
864 55
LegacyActivationShimUtil.h
in inc/clr/extra
780 40
ProfilerManager.h
in src/InstrumentationEngine
742 2
ModuleInfo.cpp
in src/InstrumentationEngine
730 48
atlbase.h
in src/unix/inc/atl
606 26
palrt2.h
in src/unix/inc
538 8
atlalloc.h
in src/unix/inc/atl
533 27
TypeCreator.cpp
in src/InstrumentationEngine
525 7
PublicContract.cs
in src/Extensions.Base.Api
521 8
CorProfilerInfoWrapper.h
in src/InstrumentationEngine
520 -
no_sal2.h
in src/unix/inc
511 -
atlsimpcoll.h
in src/unix/inc/atl
455 29
AttachCommandHandler.cs
in src/InstrumentationEngine.Attach/CommandHandler
424 11
Instruction.h
in src/InstrumentationEngine
424 10
atldef.h
in src/unix/inc/atl
408 2
atlcore.h
in src/unix/inc/atl
388 19
oleaut32.cpp
in src/unix/src/com
381 5
InstrumentationMethodBase.cpp
in src/ExtensionsCommon
359 29
AppDomainInfo.cpp
in src/InstrumentationEngine
356 18
LoggerService.cpp
in src/InstrumentationEngine.Lib
354 25
ILOpcodes.h
in inc/clr/extra
314 -
AssemblyInfo.cpp
in src/InstrumentationEngine
311 20
strsafe.cpp
in src/unix/src/misc
298 6
HostExtensionBase.cpp
in src/Extensions.BaseLib
284 12
InstrumentationMethodExceptionsImplT.h
in src/ExtensionsCommon
278 -
ExceptionClause.cpp
in src/InstrumentationEngine
277 18
InstructionFactory.cpp
in src/InstrumentationEngine
265 17
LoadArgumentsHelper.cpp
in src/ExtensionsCommon
259 8
dllmain.cpp
in src/InstrumentationEngine.ProfilerProxy
258 6
ExceptionSection.cpp
in src/InstrumentationEngine
253 11
atltrace.h
in src/unix/inc/atl
252 18
build.ps1
in root
248 -
LocalVariableCollection.cpp
in src/InstrumentationEngine
243 8
Files With Most Units (Top 20)
File# lines# units
ProfilerManager.cpp
in src/InstrumentationEngine
2788 165
cstringt.h
in src/unix/inc/atl
2480 150
atlcoll.h
in src/unix/inc/atl
3529 110
CorProfilerInfoWrapper.cpp
in src/InstrumentationEngine
1049 99
atlconv.h
in src/unix/inc/atl
1274 94
atlstr.h
in src/unix/inc/atl
942 77
atlcomcli.h
in src/unix/inc/atl
1381 65
Instruction.cpp
in src/InstrumentationEngine
1374 60
MethodInfo.cpp
in src/InstrumentationEngine
1492 58
atlsimpstr.h
in src/unix/inc/atl
864 55
ModuleInfo.cpp
in src/InstrumentationEngine
730 48
ImplQueryInterface.h
in src/Common.Lib
1369 41
LegacyActivationShimUtil.h
in inc/clr/extra
780 40
MethodInfoMock.cpp
in src/TestHostExtension
185 38
AssemblyInjector.cpp
in src/InstrumentationEngine
1560 35
InstrumentationMethodBase.cpp
in src/ExtensionsCommon
359 29
InstructionGraph.cpp
in src/InstrumentationEngine
864 29
atlsimpcoll.h
in src/unix/inc/atl
455 29
ProfilerManagerForInstrumentationMethod.cpp
in src/InstrumentationEngine
208 28
LegacyActivationShim.h
in inc/clr/extra
1116 27
Files With Long Lines (Top 20)

There are 164 files with lines longer than 120 characters. In total, there are 1546 long lines.

File# lines# units# long lines
ILOpcodes.h
in inc/clr/extra
314 - 293
corprof.h
in inc/clr/prof
11934 - 174
ProfilerManager.cpp
in src/InstrumentationEngine
2788 165 91
ImplQueryInterface.h
in src/Common.Lib
1369 41 77
AssemblyInjector.cpp
in src/InstrumentationEngine
1560 35 59
InstrumentationEngine_i.cpp
in src/InstrumentationEngine.Api
72 - 48
PublicContract.cs
in src/Extensions.Base.Api
521 8 43
XdtHelper.psm1
in build/Scripts/PrivateXdt
225 - 29
MethodInfo.cpp
in src/InstrumentationEngine
1492 58 28
ModuleInfo.cpp
in src/InstrumentationEngine
730 48 25
cstringt.h
in src/unix/inc/atl
2480 150 20
InstructionGraph.cpp
in src/InstrumentationEngine
864 29 18
InstructionFactory.h
in src/InstrumentationEngine
42 1 17
build.ps1
in root
248 - 16
InstructionFactory.cpp
in src/InstrumentationEngine
265 17 16
Instruction.cpp
in src/InstrumentationEngine
1374 60 15
banned.h
in src/Common.Headers
58 - 14
LoadArgumentsHelper.cpp
in src/ExtensionsCommon
259 8 14
ProfilerManager.h
in src/InstrumentationEngine
742 2 14
LegacyActivationShim.h
in inc/clr/extra
1116 27 13