microsoft / ms-tpm-20-ref
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 488 files with 63,492 lines of code.
    • 13 very long files (25,905 lines of code)
    • 15 long files (10,356 lines of code)
    • 27 medium size files (8,797 lines of codeclsfd_ftr_w_mp_ins)
    • 47 small files (6,631 lines of code)
    • 386 very small files (11,803 lines of code)
40% | 16% | 13% | 10% | 18%
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
h49% | 9% | 7% | 9% | 23%
c30% | 22% | 18% | 11% | 16%
filters95% | 0% | 0% | 0% | 4%
vcxproj47% | 22% | 21% | 8% | 0%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
tpm/include63% | 14% | 10% | 5% | 6%
tpm/src/support69% | 6% | 14% | 7% | 2%
tpm100% | 0% | 0% | 0% | 0%
tpm/include/prototypes25% | 0% | 0% | 15% | 59%
tpm/src/main77% | 0% | 14% | 8% | 0%
tpm/src/crypt12% | 38% | 32% | 13% | 3%
tpm/src/subsystem29% | 38% | 13% | 17% | 2%
tpm/src/command0% | 15% | 0% | 13% | 71%
Simulator/src0% | 58% | 22% | 19% | 0%
Platform0% | 88% | 0% | 0% | 11%
Simulator0% | 0% | 100% | 0% | 0%
Platform/src0% | 0% | 51% | 15% | 32%
tpm/src/X5090% | 0% | 44% | 43% | 11%
Platform/include/prototypes0% | 0% | 100% | 0% | 0%
Platform/include0% | 0% | 0% | 66% | 33%
Simulator/include/prototypes0% | 0% | 0% | 100% | 0%
tpm/include/Ossl0% | 0% | 0% | 46% | 53%
tpm/include/Wolf0% | 0% | 0% | 0% | 100%
tpm/include/Ltc0% | 0% | 0% | 0% | 100%
tpm/src/events0% | 0% | 0% | 0% | 100%
Simulator/include0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
Marshal.c
in TPMCmd/tpm/src/support
5346 -
CommandDispatchData.h
in TPMCmd/tpm/include
4492 -
TpmTypes.h
in TPMCmd/tpm/include
2106 -
CommandDispatcher.h
in TPMCmd/tpm/include
2069 -
Marshal_fp.h
in TPMCmd/tpm/include/prototypes
1930 -
filters
Tpm.vcxproj.filters
in TPMCmd/tpm
1428 -
TableMarshalDefines.h
in TPMCmd/tpm/include
1422 -
TableMarshalTypes.h
in TPMCmd/tpm/include
1346 -
SessionProcess.c
in TPMCmd/tpm/src/main
1299 -
CryptUtil.c
in TPMCmd/tpm/src/crypt
1197 -
TableMarshalData.c
in TPMCmd/tpm/src/support
1128 -
NvDynamic.c
in TPMCmd/tpm/src/subsystem
1081 -
vcxproj
Tpm.vcxproj
in TPMCmd/tpm
1061 -
HandleProcess.h
in TPMCmd/tpm/include
994 -
Object_spt.c
in TPMCmd/tpm/src/command/Object
912 -
CommandAttributeData.h
in TPMCmd/tpm/include
884 -
CryptRsa.c
in TPMCmd/tpm/src/crypt
859 1
PCR.c
in TPMCmd/tpm/src/subsystem
823 -
TpmProfile.h
in TPMCmd/tpm/include
720 -
TableDrivenMarshal.c
in TPMCmd/tpm/src/support
637 7
AlgorithmTests.c
in TPMCmd/tpm/src/crypt
609 -
Object.c
in TPMCmd/tpm/src/subsystem
604 -
CryptEccSignature.c
in TPMCmd/tpm/src/crypt
585 -
CryptRand.c
in TPMCmd/tpm/src/crypt
584 -
TcpServer.c
in TPMCmd/Simulator/src
573 -
CryptEccData.c
in TPMCmd/tpm/src/crypt
551 -
CryptHash.c
in TPMCmd/tpm/src/crypt
512 -
vcxproj
platform.vcxproj
in TPMCmd/Platform
509 -
CryptEccMain.c
in TPMCmd/tpm/src/crypt
498 -
vcxproj
simulator.vcxproj
in TPMCmd/Simulator
491 -
Session.c
in TPMCmd/tpm/src/subsystem
483 -
Global.h
in TPMCmd/tpm/include
470 -
TpmToOsslMath.c
in TPMCmd/tpm/src/crypt/ossl
432 -
PropertyCap.c
in TPMCmd/tpm/src/support
377 -
PrimeData.c
in TPMCmd/tpm/src/crypt
374 1
TpmToWolfMath.c
in TPMCmd/tpm/src/crypt/wolf
374 -
Commands.h
in TPMCmd/tpm/include
369 -
BnMath.c
in TPMCmd/tpm/src/crypt
368 -
CryptPrimeSieve.c
in TPMCmd/tpm/src/crypt
356 -
RsaTestData.h
in TPMCmd/tpm/include
353 -
CommandCodeAttributes.c
in TPMCmd/tpm/src/support
325 -
Entity.c
in TPMCmd/tpm/src/support
322 -
TpmAlgorithmDefines.h
in TPMCmd/tpm/include
317 -
CryptSym.c
in TPMCmd/tpm/src/crypt
310 -
TpmFail.c
in TPMCmd/tpm/src/support
307 2
TpmASN1.c
in TPMCmd/tpm/src/X509
285 -
CommandDispatcher.c
in TPMCmd/tpm/src/main
253 -
NVMem.c
in TPMCmd/Platform/src
250 -
TPMCmds.c
in TPMCmd/Simulator/src
218 1
GpMacros.h
in TPMCmd/tpm/include
218 -
Files With Most Units (Top 9)
File# lines# units
TableDrivenMarshal.c
in TPMCmd/tpm/src/support
637 7
TpmToWolfDesSupport.c
in TPMCmd/tpm/src/crypt/wolf
54 5
TpmToOsslDesSupport.c
in TPMCmd/tpm/src/crypt/ossl
38 2
TpmFail.c
in TPMCmd/tpm/src/support
307 2
TPMCmds.c
in TPMCmd/Simulator/src
218 1
CryptRsa.c
in TPMCmd/tpm/src/crypt
859 1
PrimeData.c
in TPMCmd/tpm/src/crypt
374 1
TpmToLtcDesSupport.c
in TPMCmd/tpm/src/crypt/ltc
21 1
TpmToLtcSupport.c
in TPMCmd/tpm/src/crypt/ltc
35 1
Files With Long Lines (Top 5)

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

File# lines# units# long lines
vcxproj
Tpm.vcxproj
in TPMCmd/tpm
1061 - 70
Marshal.c
in TPMCmd/tpm/src/support
5346 - 55
vcxproj
simulator.vcxproj
in TPMCmd/Simulator
491 - 48
vcxproj
platform.vcxproj
in TPMCmd/Platform
509 - 41
vcxproj
wolfssl.vcxproj
in TPMCmd/tpm/src/crypt/wolf
194 - 12