microsoft / TSS.MSR
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 804 files with 173,631 lines of code.
    • 23 very long files (87,340 lines of code)
    • 39 long files (27,122 lines of code)
    • 74 medium size files (23,026 lines of codeclsfd_ftr_w_mp_ins)
    • 75 small files (10,893 lines of code)
    • 593 very small files (25,250 lines of code)
50% | 15% | 13% | 6% | 14%
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
cpp86% | 5% | 6% | <1% | <1%
h41% | 17% | 21% | 10% | 8%
cs48% | 31% | 13% | 5% | 1%
ts82% | 8% | 7% | 0% | 1%
py84% | 6% | 0% | 6% | 2%
java0% | 3% | 7% | 5% | 82%
vcxproj0% | 0% | 39% | 60% | 0%
cmd0% | 0% | 0% | 31% | 68%
filters0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
H0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
TSS.NET/TSS.Net62% | 25% | 8% | 3% | <1%
TSS.CPP/CryptoEngine31% | 22% | 22% | 12% | 10%
TSS.CPP/include86% | 0% | 9% | 2% | 1%
TSS.JS/src82% | 8% | 7% | 0% | 1%
PCPTool.v11/dll90% | 0% | 7% | 1% | <1%
PCPTool.v11/exe91% | 0% | 6% | 1% | <1%
TSS.CPP/Src70% | 15% | 10% | 2% | <1%
TSS.Py/src84% | 6% | 0% | 6% | 2%
Tpm2Tester/TestSubstrate55% | 30% | 7% | 3% | 2%
TSS.NET/TSS.Net.UWP40% | 25% | 29% | 5% | 0%
TssCodeGen/src0% | 64% | 25% | 9% | 1%
TSS.Java/src0% | 3% | 7% | 5% | 82%
PCPTool.v11/inc0% | 0% | 100% | 0% | 0%
Tpm2Tester/TestSuite0% | 0% | 33% | 27% | 39%
Tpm2Tester/TpmProxy0% | 0% | 74% | 25% | 0%
TSS.CPP0% | 0% | 71% | 0% | 28%
PCPTool.v11/misc0% | 0% | 0% | 31% | 68%
Tpm2Tester0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
X_TpmDefs.cs
in TSS.NET/TSS.Net
12065 666
TpmTypes.ts
in TSS.JS/src
9348 713
TpmTypes.h
in TSS.CPP/include
8556 1256
TpmTypes.cpp
in TSS.CPP/Src
8181 1499
SDKSample.cpp
in PCPTool.v11/exe
7229 2
TpmTypes.py
in TSS.Py/src
7039 2168
obj_mac.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN32/openssl
3974 -
obj_mac.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN64A/openssl
3974 -
TPM20.cpp
in PCPTool.v11/dll
3147 -
Tpm12.cpp
in PCPTool.v11/dll
3047 -
AttestationApi.cpp
in PCPTool.v11/dll
2834 3
Tpm2.cs
in TSS.NET/TSS.Net
2085 82
TestFramework.cs
in Tpm2Tester/TestSubstrate
1860 45
Support.cpp
in PCPTool.v11/exe
1755 -
ssl.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN32/openssl
1720 -
ssl.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN64A/openssl
1720 -
Tpm2.h
in TSS.CPP/include
1517 14
evp.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN32/openssl
1338 -
evp.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN64A/openssl
1338 -
TestSubstrate.cs
in Tpm2Tester/TestSubstrate
1271 91
BCryptInterface.cs
in TSS.NET/TSS.Net.UWP
1135 37
Globs.cs
in TSS.NET/TSS.Net
1111 68
TestFuzzer.cs
in Tpm2Tester/TestSubstrate
1096 22
Tpm.ts
in TSS.JS/src
980 -
TpmCustomDefs.cs
in TSS.NET/TSS.Net
978 98
TypeExtractor.cs
in TssCodeGen/src
977 25
PolicyAces.cs
in TSS.NET/TSS.Net
956 101
tls1.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN32/openssl
936 -
tls1.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN64A/openssl
936 -
TestCmdLine.cs
in Tpm2Tester/TestSubstrate
880 20
x509.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN32/openssl
818 -
x509.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN64A/openssl
818 -
Tpm.java
in TSS.Java/src/tss
801 107
SlotManager.cs
in TSS.NET/TSS.Net
783 56
TestLogger.cs
in Tpm2Tester/TestSubstrate
766 31
sslerr.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN32/openssl
752 -
sslerr.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN64A/openssl
752 -
CryptoAsym.cs
in TSS.NET/TSS.Net.UWP
716 24
x509v3.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN32/openssl
706 -
x509v3.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN64A/openssl
706 -
TpmTypes.cs
in TssCodeGen/src
686 56
CryptoAsym.cs
in TSS.NET/TSS.Net
674 26
CGenDotNet.cs
in TssCodeGen/src
674 21
TestContext.cs
in Tpm2Tester/TestSubstrate
661 24
TpmDevices.cs
in TSS.NET/TSS.Net
654 74
CGenCpp.cs
in TssCodeGen/src
637 26
Serialize.cpp
in TSS.CPP/Src
608 62
bio.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN32/openssl
593 -
bio.h
in TSS.CPP/CryptoEngine/openssl/VC-WIN64A/openssl
593 -
Tpm2.cpp
in TSS.CPP/Src
589 20
Files With Most Units (Top 20)
File# lines# units
TpmTypes.py
in TSS.Py/src
7039 2168
TpmTypes.cpp
in TSS.CPP/Src
8181 1499
TpmTypes.h
in TSS.CPP/include
8556 1256
TpmTypes.ts
in TSS.JS/src
9348 713
X_TpmDefs.cs
in TSS.NET/TSS.Net
12065 666
Tpm.py
in TSS.Py/src
520 122
Tpm.java
in TSS.Java/src/tss
801 107
PolicyAces.cs
in TSS.NET/TSS.Net
956 101
TpmCustomDefs.cs
in TSS.NET/TSS.Net
978 98
TestSubstrate.cs
in Tpm2Tester/TestSubstrate
1271 91
Tpm2.cs
in TSS.NET/TSS.Net
2085 82
TpmDevices.cs
in TSS.NET/TSS.Net
654 74
Globs.cs
in TSS.NET/TSS.Net
1111 68
Serialize.cpp
in TSS.CPP/Src
608 62
SlotManager.cs
in TSS.NET/TSS.Net
783 56
TpmTypes.cs
in TssCodeGen/src
686 56
TestFramework.cs
in Tpm2Tester/TestSubstrate
1860 45
TpmPolicy.cpp
in TSS.CPP/Src
419 43
BCryptInterface.cs
in TSS.NET/TSS.Net.UWP
1135 37
TpmMarshaler.py
in TSS.Py/src
181 37
Files With Long Lines (Top 20)

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

File# lines# units# long lines
TpmTypes.h
in TSS.CPP/include
8556 1256 352
TpmTypes.cpp
in TSS.CPP/Src
8181 1499 191
X_TpmDefs.cs
in TSS.NET/TSS.Net
12065 666 160
Tpm.java
in TSS.Java/src/tss
801 107 53
TPM20.cpp
in PCPTool.v11/dll
3147 - 46
Tpm.ts
in TSS.JS/src
980 - 34
Tpm12.cpp
in PCPTool.v11/dll
3047 - 31
TpmTypes.py
in TSS.Py/src
7039 2168 28
TypeExtractor.cs
in TssCodeGen/src
977 25 16
CertifyX509Support.cs
in Tpm2Tester/TestSuite
318 13 15
vcxproj
TSS.CPP.vcxproj
in TSS.CPP
229 - 13
SDKSample.cpp
in PCPTool.v11/exe
7229 2 10
CodeGenBase.cs
in TssCodeGen/src
511 37 10
Tpm2.cs
in TSS.NET/TSS.Net
2085 82 9
CGenJava.cs
in TssCodeGen/src
508 16 9
vcxproj
dll.vcxproj
in PCPTool.v11/dll
185 - 8
vcxproj
exe.vcxproj
in PCPTool.v11/exe
168 - 8
GlobalSuppressions.cs
in TSS.NET/TSS.Net
10 - 7
ImplementationConstants.java
in TSS.Java/src/tss/tpm
67 - 5
Support.cpp
in PCPTool.v11/exe
1755 - 4