awslabs / aws-lc
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 836 files with 508,230 lines of code.
    • 140 very long files (351,777 lines of code)
    • 98 long files (69,090 lines of code)
    • 170 medium size files (54,248 lines of codeclsfd_ftr_w_mp_ins)
    • 143 small files (21,143 lines of code)
    • 285 very small files (11,972 lines of code)
69% | 13% | 10% | 4% | 2%
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
S87% | 8% | 4% | <1% | <1%
asm89% | 7% | 2% | 0% | <1%
h78% | 3% | 7% | 3% | 6%
pl71% | 19% | 8% | 1% | <1%
cc48% | 25% | 17% | 5% | 3%
c13% | 29% | 33% | 16% | 6%
go48% | 15% | 17% | 14% | 4%
py0% | 0% | 29% | 39% | 30%
cmake0% | 0% | 69% | 0% | 30%
css0% | 0% | 0% | 0% | 100%
lds0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
generated-src87% | 8% | 3% | 0% | <1%
crypto52% | 18% | 17% | 8% | 3%
ssl52% | 26% | 15% | 4% | <1%
util51% | 10% | 15% | 15% | 7%
include45% | 9% | 22% | 8% | 14%
tool27% | 28% | 22% | 7% | 14%
decrepit0% | 38% | 36% | 10% | 14%
fuzz0% | 0% | 59% | 0% | 40%
ROOT0% | 0% | 100% | 0% | 0%
cmake0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
obj_dat.h
in crypto/obj
10638 -
p256-nistz-table.h
in crypto/fipsmodule/ec
9473 1
S
chacha20_poly1305_x86_64.S
in generated-src/linux-x86_64/crypto/cipher_extra
8568 -
chacha20_poly1305_x86_64.asm
in generated-src/win-x86_64/crypto/cipher_extra
8512 -
S
poly_rq_mul.S
in crypto/hrss/asm
8481 -
S
chacha20_poly1305_x86_64.S
in generated-src/mac-x86_64/crypto/cipher_extra
8450 -
curve25519_tables.h
in crypto/curve25519
7836 -
p384_table.h
in crypto/fipsmodule/ec
7173 -
delocate.peg.go
in util/fipstools/delocate
6426 22
sha1-x86_64.asm
in generated-src/win-x86_64/crypto/fipsmodule
5609 -
sha256-586.asm
in generated-src/win-x86/crypto/fipsmodule
5570 -
S
sha256-586.S
in generated-src/mac-x86/crypto/fipsmodule
5567 -
S
sha256-586.S
in generated-src/linux-x86/crypto/fipsmodule
5566 -
S
sha1-x86_64.S
in generated-src/linux-x86_64/crypto/fipsmodule
5409 -
S
sha1-x86_64.S
in generated-src/mac-x86_64/crypto/fipsmodule
5336 -
aesni-x86_64.pl
in crypto/fipsmodule/aes/asm
4348 24
p256-x86_64-asm.asm
in generated-src/win-x86_64/crypto/fipsmodule
3956 -
sha256-x86_64.asm
in generated-src/win-x86_64/crypto/fipsmodule
3941 -
S
p256-x86_64-asm.S
in generated-src/linux-x86_64/crypto/fipsmodule
3860 -
sha1-586.asm
in generated-src/win-x86/crypto/fipsmodule
3805 -
S
sha1-586.S
in generated-src/mac-x86/crypto/fipsmodule
3804 -
S
sha256-x86_64.S
in generated-src/linux-x86_64/crypto/fipsmodule
3801 -
S
sha256-x86_64.S
in generated-src/mac-x86_64/crypto/fipsmodule
3731 -
S
sha1-586.S
in generated-src/linux-x86/crypto/fipsmodule
3727 -
S
p256-x86_64-asm.S
in generated-src/mac-x86_64/crypto/fipsmodule
3490 -
p256-x86_64-asm.pl
in crypto/fipsmodule/ec/asm
3434 8
aesp8-ppc.pl
in crypto/fipsmodule/aes/asm
3311 4
x86_64-mont5.asm
in generated-src/win-x86_64/crypto/fipsmodule
3257 -
x86_64-mont5.pl
in crypto/fipsmodule/bn/asm
3251 9
S
aesp8-ppc.S
in generated-src/linux-ppc64le/crypto/fipsmodule
3245 -
nid.h
in include/openssl
3228 -
extensions.cc
in ssl
3205 141
S
x86_64-mont5.S
in generated-src/linux-x86_64/crypto/fipsmodule
3200 -
S
x86_64-mont5.S
in generated-src/mac-x86_64/crypto/fipsmodule
3039 -
sha512-586.asm
in generated-src/win-x86/crypto/fipsmodule
2840 -
S
sha512-586.S
in generated-src/mac-x86/crypto/fipsmodule
2837 -
S
sha512-586.S
in generated-src/linux-x86/crypto/fipsmodule
2836 -
S
sha256-armv4.S
in generated-src/linux-arm/crypto/fipsmodule
2789 -
S
sha256-armv4.S
in generated-src/ios-arm/crypto/fipsmodule
2788 -
sha512-x86_64.asm
in generated-src/win-x86_64/crypto/fipsmodule
2712 -
S
chacha20_poly1305_armv8.S
in generated-src/linux-aarch64/crypto/cipher_extra
2662 -
S
chacha20_poly1305_armv8.S
in generated-src/win-aarch64/crypto/cipher_extra
2662 -
S
chacha20_poly1305_armv8.S
in generated-src/ios-aarch64/crypto/cipher_extra
2653 -
aes128gcmsiv-x86_64.asm
in generated-src/win-x86_64/crypto/cipher_extra
2648 -
S
sha512-x86_64.S
in generated-src/linux-x86_64/crypto/fipsmodule
2623 -
S
sha512-x86_64.S
in generated-src/mac-x86_64/crypto/fipsmodule
2579 -
S
aes128gcmsiv-x86_64.S
in generated-src/linux-x86_64/crypto/cipher_extra
2558 -
aesni-x86_64.asm
in generated-src/win-x86_64/crypto/fipsmodule
2520 -
S
aesni-x86.S
in generated-src/linux-x86/crypto/fipsmodule
2512 -
S
aesni-x86.S
in generated-src/mac-x86/crypto/fipsmodule
2475 -
Files With Most Units (Top 20)
File# lines# units
ssl_lib.cc
in ssl
2319 259
extensions.cc
in ssl
3205 141
ssl_x509.cc
in ssl
1001 85
hrss.c
in crypto/hrss
1387 80
curve25519.c
in crypto/curve25519
1732 75
x509_vfy.c
in crypto/x509
1750 57
ssl_session.cc
in ssl
925 57
delocate.go
in util/fipstools/delocate
1526 53
ec.c
in crypto/fipsmodule/ec
931 49
bio.c
in crypto/bio
505 49
x509_lu.c
in crypto/x509
649 48
aes_nohw.c
in crypto/fipsmodule/aes
875 48
cbs.c
in crypto/bytestring
573 47
internal.h
in crypto
504 45
x86asm.pl
in crypto/perlasm
269 45
pmbtoken.c
in crypto/trust_token
1148 45
ssl_cert.cc
in ssl
694 42
modulewrapper.cc
in util/fipstools/acvp/modulewrapper
1828 41
ppc-xlate.pl
in crypto/perlasm
279 40
cipher.c
in crypto/fipsmodule/cipher
491 40
Files With Long Lines (Top 20)

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

File# lines# units# long lines
ecdsa.go
in util/fipstools/acvp/acvptool/subprocess
192 1 10
block.go
in util/fipstools/acvp/acvptool/subprocess
322 8 9
delocate.go
in util/fipstools/delocate
1526 53 8
keyedMac.go
in util/fipstools/acvp/acvptool/subprocess
121 1 7
drbg.go
in util/fipstools/acvp/acvptool/subprocess
165 3 7
interactive.go
in util/fipstools/acvp/acvptool
600 33 6
aead.go
in util/fipstools/acvp/acvptool/subprocess
189 1 5
inject_hash.go
in util/fipstools/inject_hash
326 4 5
doc.go
in util
661 19 4
rsa.go
in util/fipstools/acvp/acvptool/subprocess
227 4 4
make_tables.go
in crypto/fipsmodule/ec
428 17 3
S
chacha20_poly1305_armv8.S
in generated-src/linux-aarch64/crypto/cipher_extra
2662 - 3
S
chacha20_poly1305_armv8.S
in generated-src/win-aarch64/crypto/cipher_extra
2662 - 3
S
chacha20_poly1305_armv8.S
in generated-src/ios-aarch64/crypto/cipher_extra
2653 - 3
acvp.go
in util/fipstools/acvp/acvptool/acvp
532 20 3
testmodulewrapper.go
in util/fipstools/acvp/acvptool/testmodulewrapper
444 17 3
hmac.go
in util/fipstools/acvp/acvptool/subprocess
85 2 3
tlskdf.go
in util/fipstools/acvp/acvptool/subprocess
118 1 3
acvp.go
in util/fipstools/acvp/acvptool
551 8 3
run_cavp.go
in util/fipstools/cavp
494 7 3