aws / s2n-tls
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 528 files with 52,387 lines of code.
    • 5 very long files (5,872 lines of code)
    • 9 long files (6,363 lines of code)
    • 54 medium size files (16,177 lines of codeclsfd_ftr_w_mp_ins)
    • 71 small files (9,787 lines of code)
    • 389 very small files (14,188 lines of code)
11% | 12% | 30% | 18% | 27%
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
c15% | 10% | 36% | 18% | 19%
S0% | 54% | 24% | 15% | 4%
py0% | 55% | 33% | 10% | 0%
h0% | 6% | 3% | 20% | 69%
rs0% | 0% | 32% | 46% | 20%
yml0% | 0% | 39% | 0% | 60%
cmake0% | 0% | 0% | 0% | 100%
toml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
tls23% | 14% | 26% | 14% | 21%
pq-crypto5% | 8% | 30% | 19% | 35%
scripts0% | 100% | 0% | 0% | 0%
crypto0% | 12% | 42% | 23% | 21%
api0% | 100% | 0% | 0% | 0%
utils0% | 0% | 35% | 32% | 32%
codebuild0% | 0% | 60% | 0% | 39%
error0% | 0% | 100% | 0% | 0%
bindings0% | 0% | 31% | 44% | 24%
stuffer0% | 0% | 32% | 51% | 16%
scram0% | 0% | 0% | 100% | 0%
cmake0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
s2n_cipher_preferences.c
in tls
1546 -
s2n_connection.c
in tls
1131 73
KeccakP-1600-times4-SIMD256_avx2.c
in pq-crypto/kyber_r3
1106 15
s2n_cipher_suites.c
in tls
1082 11
s2n_handshake_io.c
in tls
1007 23
S
sikep434r3_fp_x64_asm.S
in pq-crypto/sike_r3
951 -
s2n_security_policies.c
in tls
895 10
s2n_resume.c
in tls
733 40
s2n_config.c
in tls
688 60
s2n_prf.c
in tls
671 43
s2n_safety_macros.py
in scripts
642 4
sha2_c.c
in pq-crypto/kyber_90s_r2
612 28
s2n_certificate.c
in crypto
611 38
s2n.h
in api
560 -
s2n_hash.c
in crypto
483 34
s2n_psk.c
in tls
480 34
aes_c.c
in pq-crypto/kyber_90s_r2
471 33
s2n_kem.c
in tls
458 14
s2n_client_hello.c
in tls
450 25
s2n_async_pkey.c
in tls
442 31
s2n_x509_validator.c
in tls
435 18
fips202_kyber_r2.c
in pq-crypto/kyber_r2
405 17
create_project.py
in codebuild
387 12
s2n_tls13_handshake.c
in tls
386 19
s2n_ecc_evp.c
in crypto
383 19
sikep434r3_fpx.c
in pq-crypto/sike_r3
382 30
kyber512r3_rejsample_avx2.c
in pq-crypto/kyber_r3
380 1
s2n_errno.c
in error
372 11
s2n_random.c
in utils
358 22
fips202_r1.c
in pq-crypto/sike_r1
357 7
kyber512r3_fips202.c
in pq-crypto/kyber_r3
352 12
buildspec_omnibus.yml
in codebuild/spec
349 -
sikep434r3_fips202.c
in pq-crypto/sike_r3
340 6
s2n_stuffer.c
in stuffer
316 27
s2n_record_write.c
in tls
314 8
s2n_early_data.c
in tls
306 24
s2n_aead_cipher_aes_gcm.c
in crypto
291 26
s2n_hmac.c
in crypto
282 20
fpx_r1.c
in pq-crypto/sike_r1
267 26
s2n_signature_scheme.c
in tls
266 -
s2n_errno.h
in error
263 -
ec_isogeny_r1.c
in pq-crypto/sike_r1
262 14
sikep434r3_ec_isogeny.c
in pq-crypto/sike_r3
260 14
s2n_client_key_share.c
in tls/extensions
258 11
kyber512r3_poly_avx2.c
in pq-crypto/kyber_r3
257 18
s2n_kex.c
in tls
253 17
s2n_composite_cipher_aes_sha.c
in crypto
246 19
s2n_server_key_share.c
in tls/extensions
245 11
s2n_dhe.c
in crypto
243 13
s2n_client_psk.c
in tls/extensions
239 11
Files With Most Units (Top 20)
File# lines# units
s2n_connection.c
in tls
1131 73
s2n_config.c
in tls
688 60
s2n_prf.c
in tls
671 43
s2n_resume.c
in tls
733 40
s2n_certificate.c
in crypto
611 38
s2n_psk.c
in tls
480 34
s2n_hash.c
in crypto
483 34
s2n_pq.c
in pq-crypto
223 34
aes_c.c
in pq-crypto/kyber_90s_r2
471 33
s2n_async_pkey.c
in tls
442 31
sikep434r3_fpx.c
in pq-crypto/sike_r3
382 30
sha2_c.c
in pq-crypto/kyber_90s_r2
612 28
s2n_stuffer.c
in stuffer
316 27
s2n_aead_cipher_aes_gcm.c
in crypto
291 26
fpx_r1.c
in pq-crypto/sike_r1
267 26
s2n_client_hello.c
in tls
450 25
s2n_early_data.c
in tls
306 24
s2n_handshake_io.c
in tls
1007 23
s2n_random.c
in utils
358 22
s2n_hmac.c
in crypto
282 20
Files With Long Lines (Top 20)

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

File# lines# units# long lines
s2n_security_policies.c
in tls
895 10 98
s2n.h
in api
560 - 41
s2n_prf.c
in tls
671 43 35
P503_r1.c
in pq-crypto/sike_r1
79 - 35
s2n_handshake_io.c
in tls
1007 23 32
s2n_kem.c
in tls
458 14 26
s2n_certificate.c
in crypto
611 38 19
s2n_safety_macros.h
in utils
116 - 18
s2n_errno.c
in error
372 11 17
KeccakP-1600-times4-SIMD256_avx2.c
in pq-crypto/kyber_r3
1106 15 17
s2n_connection.c
in tls
1131 73 16
s2n_aead_cipher_aes_gcm.c
in crypto
291 26 16
s2n_x509_validator.c
in tls
435 18 14
s2n_aead_cipher_chacha20_poly1305.c
in crypto
165 19 14
s2n_tls13_certificate_verify.c
in tls
120 7 13
s2n_tls13_keys.c
in crypto
226 16 13
s2n_hash.c
in crypto
483 34 12
KeccakP-1600-times4-SnP_avx2.h
in pq-crypto/kyber_r3
41 - 12
s2n_config.c
in tls
688 60 11
s2n_resume.c
in tls
733 40 11