microsoft / SymCrypt
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 293 files with 89,459 lines of code.
    • 22 very long files (39,041 lines of code)
    • 30 long files (21,637 lines of code)
    • 56 medium size files (17,498 lines of codeclsfd_ftr_w_mp_ins)
    • 45 small files (6,390 lines of code)
    • 140 very small files (4,893 lines of code)
43% | 24% | 19% | 7% | 5%
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
cpp55% | 12% | 21% | 6% | 4%
h87% | 0% | 3% | 4% | 4%
c23% | 38% | 24% | 7% | 6%
asm0% | 76% | 0% | 15% | 7%
cs0% | 100% | 0% | 0% | 0%
py0% | 80% | 0% | 19% | 0%
yml0% | 0% | 58% | 41% | 0%
cmd0% | 0% | 0% | 53% | 46%
inc0% | 0% | 0% | 0% | 100%
cmake0% | 0% | 0% | 0% | 100%
mm0% | 0% | 0% | 0% | 100%
m0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
unittest54% | 11% | 19% | 8% | 5%
lib27% | 37% | 22% | 6% | 5%
inc98% | 0% | 0% | 0% | 1%
module83% | 0% | 0% | 9% | 6%
scbuild0% | 100% | 0% | 0% | 0%
scripts0% | 80% | 0% | 19% | 0%
gen0% | 0% | 100% | 0% | 0%
ROOT0% | 0% | 42% | 50% | 7%
cmake-toolchain0% | 0% | 0% | 0% | 100%
build0% | 0% | 0% | 0% | 100%
publics0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
sc_implementations.cpp
in unittest/lib
5411 23
testArithmetic.cpp
in unittest/lib
2837 4
cng_implementations.cpp
in unittest/lib
2664 4
sc_lib.h
in lib
2613 -
elfdefinitions.h
in module/linux_common
2562 -
rsa32_implementations.cpp
in unittest/lib
2523 4
symcrypt.h
in inc
2381 1
symcrypt_internal.h
in inc
1547 9
main.cpp
in unittest/lib
1479 8
aes-neon.c
in lib
1466 -
dlgroup.c
in lib
1409 -
aes-xmm.c
in lib
1398 -
fdef_mod.c
in lib
1148 -
rsa_enc.c
in lib
1142 -
msbignum_implementations.cpp
in unittest/lib
1119 1
perf.cpp
in unittest/lib
1097 13
testhash.cpp
in unittest/lib
1092 6
fdef_general.c
in lib
1076 -
symcrypt_low_level.h
in inc
1028 -
algorithm_base.h
in unittest/inc
1021 20
IEEE802_11SaeCustom.c
in lib
1020 -
testEcc.cpp
in unittest/lib
1008 -
sha256.c
in lib
970 -
testDh.cpp
in unittest/lib
942 3
fdef_int.c
in lib
929 -
sha512.c
in lib
910 -
dl_internal_groups.c
in lib
863 -
a_dispatch.c
in lib
852 -
AesTables.c
in lib
850 -
old-testRsa.cpp
in unittest/lib
849 7
scbuild.cs
in scbuild
817 33
sha256Par.c
in lib
787 -
rsakey.c
in lib
786 -
aesasm.asm
in lib/arm
784 -
testRsaSign.cpp
in unittest/lib
769 1
rsa_padding.c
in lib
751 -
xtsaes.c
in lib
748 -
testRsaEnc.cpp
in unittest/lib
716 -
fips_selftest.c
in lib
681 -
aes-ymm.c
in lib
644 -
aes-default.c
in lib
641 -
symcryptasm_processor.py
in scripts
638 36
eckey.c
in lib
611 -
testDl.cpp
in unittest/lib
610 14
fdef_asm.asm
in lib/arm
594 -
dlkey.c
in lib
589 -
gcm.c
in lib
582 -
aesCtrDrbg.c
in lib
566 -
ecpoint.c
in lib
553 -
sha512Par.c
in lib
553 -
Files With Most Units (Top 20)
File# lines# units
symcryptasm_processor.py
in scripts
638 36
scbuild.cs
in scbuild
817 33
sc_implementations.cpp
in unittest/lib
5411 23
algorithm_base.h
in unittest/inc
1021 20
old-testRsa_sc.cpp
in unittest/lib
484 15
testDl.cpp
in unittest/lib
610 14
perf.cpp
in unittest/lib
1097 13
testDl_cng.cpp
in unittest/lib
545 12
old-testRsa_cng.cpp
in unittest/lib
383 11
testDl_sc.cpp
in unittest/lib
310 10
symcrypt_internal.h
in inc
1547 9
process_fips_module.py
in scripts
155 8
capi_imp_hashpattern.cpp
in unittest/lib
73 8
cng_imp_hashpattern.cpp
in unittest/lib
120 8
kat.cpp
in unittest/lib
284 8
main.cpp
in unittest/lib
1479 8
old-testRsa.cpp
in unittest/lib
849 7
sc_imp_hashpattern.cpp
in unittest/lib
154 7
testDl_msbignum.cpp
in unittest/lib
335 7
testStreamCipher.cpp
in unittest/lib
344 7
Files With Long Lines (Top 20)

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

File# lines# units# long lines
aes-xmm.c
in lib
1398 - 68
symcrypt_internal.h
in inc
1547 9 61
testArithmetic.cpp
in unittest/lib
2837 4 54
sc_implementations.cpp
in unittest/lib
5411 23 50
aes-ymm.c
in lib
644 - 40
perf.cpp
in unittest/lib
1097 13 40
old-testRsa.cpp
in unittest/lib
849 7 29
testEcc.cpp
in unittest/lib
1008 - 28
cng_implementations.cpp
in unittest/lib
2664 4 26
fdef_int.c
in lib
929 - 25
testRsaEnc.cpp
in unittest/lib
716 - 24
symcryptasm_processor.py
in scripts
638 36 22
aes-neon.c
in lib
1466 - 20
sha512Par.c
in lib
553 - 20
dsa.c
in lib
480 - 18
fdef_mod.c
in lib
1148 - 18
symcrypt_low_level.h
in inc
1028 - 17
IEEE802_11SaeCustom.c
in lib
1020 - 17
main.cpp
in unittest/lib
1479 8 17
sha256Par.c
in lib
787 - 16