firebase / boringSSL-SwiftPM
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 806 files with 479,138 lines of code.
    • 130 very long files (325,656 lines of code)
    • 95 long files (67,820 lines of code)
    • 166 medium size files (53,344 lines of codeclsfd_ftr_w_mp_ins)
    • 142 small files (20,978 lines of code)
    • 273 very small files (11,340 lines of code)
67% | 14% | 11% | 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
S86% | 9% | 3% | 0% | <1%
asm89% | 7% | 2% | 0% | <1%
pl70% | 20% | 7% | 1% | <1%
h75% | 2% | 9% | 4% | 7%
cc44% | 29% | 17% | 5% | 3%
c13% | 27% | 35% | 16% | 6%
go47% | 15% | 16% | 15% | 4%
py0% | 54% | 0% | 27% | 18%
cmake0% | 0% | 0% | 96% | 3%
swift0% | 0% | 0% | 0% | 100%
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
src48% | 19% | 18% | 8% | 4%
win-x86_6494% | 3% | 1% | 0% | <1%
linux-x86_6492% | 5% | 1% | 0% | <1%
mac-x86_6490% | 7% | 1% | 0% | <1%
mac-x8678% | 16% | 5% | 0% | 0%
win-x8678% | 16% | 5% | 0% | 0%
linux-x8678% | 16% | 5% | 0% | 0%
ios-arm82% | 13% | 3% | 0% | 0%
linux-arm82% | 13% | 3% | 0% | 0%
win-aarch6483% | 7% | 8% | 0% | 0%
linux-aarch6483% | 7% | 8% | 0% | 0%
ios-aarch6483% | 7% | 8% | 0% | 0%
linux-ppc64le86% | 0% | 13% | 0% | 0%
ROOT95% | 0% | 0% | 0% | 4%
SwiftPMTests0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
obj_dat.h
in src/crypto/obj
10638 -
p256-x86_64-table.h
in src/crypto/fipsmodule/ec
9473 1
S
chacha20_poly1305_x86_64.S
in linux-x86_64/crypto/cipher_extra
8568 -
chacha20_poly1305_x86_64.asm
in win-x86_64/crypto/cipher_extra
8512 -
S
poly_rq_mul.S
in src/crypto/hrss/asm
8481 -
S
chacha20_poly1305_x86_64.S
in mac-x86_64/crypto/cipher_extra
8450 -
curve25519_tables.h
in src/crypto/curve25519
7836 -
delocate.peg.go
in src/util/fipstools/delocate
6293 17
sha1-x86_64.asm
in win-x86_64/crypto/fipsmodule
5609 -
sha256-586.asm
in win-x86/crypto/fipsmodule
5570 -
S
sha256-586.S
in mac-x86/crypto/fipsmodule
5567 -
S
sha256-586.S
in linux-x86/crypto/fipsmodule
5566 -
S
sha1-x86_64.S
in linux-x86_64/crypto/fipsmodule
5409 -
S
sha1-x86_64.S
in mac-x86_64/crypto/fipsmodule
5336 -
aesni-x86_64.pl
in src/crypto/fipsmodule/aes/asm
4348 24
p256-x86_64-asm.asm
in win-x86_64/crypto/fipsmodule
3956 -
S
p256-x86_64-asm.S
in linux-x86_64/crypto/fipsmodule
3860 -
sha1-586.asm
in win-x86/crypto/fipsmodule
3805 -
S
sha1-586.S
in mac-x86/crypto/fipsmodule
3804 -
S
sha1-586.S
in linux-x86/crypto/fipsmodule
3727 -
sha256-x86_64.asm
in win-x86_64/crypto/fipsmodule
3686 -
S
sha256-x86_64.S
in linux-x86_64/crypto/fipsmodule
3596 -
S
sha256-x86_64.S
in mac-x86_64/crypto/fipsmodule
3532 -
S
p256-x86_64-asm.S
in mac-x86_64/crypto/fipsmodule
3490 -
p256-x86_64-asm.pl
in src/crypto/fipsmodule/ec/asm
3434 8
aesp8-ppc.pl
in src/crypto/fipsmodule/aes/asm
3311 4
x86_64-mont5.asm
in win-x86_64/crypto/fipsmodule
3257 -
x86_64-mont5.pl
in src/crypto/fipsmodule/bn/asm
3251 9
S
aesp8-ppc.S
in linux-ppc64le/crypto/fipsmodule
3245 -
nid.h
in src/include/openssl
3228 -
extensions.cc
in src/ssl
3205 141
S
x86_64-mont5.S
in linux-x86_64/crypto/fipsmodule
3200 -
S
x86_64-mont5.S
in mac-x86_64/crypto/fipsmodule
3039 -
sha512-586.asm
in win-x86/crypto/fipsmodule
2840 -
S
sha512-586.S
in mac-x86/crypto/fipsmodule
2837 -
S
sha512-586.S
in linux-x86/crypto/fipsmodule
2836 -
S
sha256-armv4.S
in linux-arm/crypto/fipsmodule
2789 -
S
sha256-armv4.S
in ios-arm/crypto/fipsmodule
2788 -
sha512-x86_64.asm
in win-x86_64/crypto/fipsmodule
2712 -
aes128gcmsiv-x86_64.asm
in win-x86_64/crypto/cipher_extra
2648 -
S
sha512-x86_64.S
in linux-x86_64/crypto/fipsmodule
2623 -
S
sha512-x86_64.S
in mac-x86_64/crypto/fipsmodule
2579 -
S
aes128gcmsiv-x86_64.S
in linux-x86_64/crypto/cipher_extra
2558 -
aesni-x86_64.asm
in win-x86_64/crypto/fipsmodule
2520 -
S
aesni-x86.S
in linux-x86/crypto/fipsmodule
2512 -
S
aesni-x86.S
in mac-x86/crypto/fipsmodule
2475 -
aesni-x86.asm
in win-x86/crypto/fipsmodule
2460 -
S
aes128gcmsiv-x86_64.S
in mac-x86_64/crypto/cipher_extra
2460 -
chacha20_poly1305_x86_64.pl
in src/crypto/cipher_extra/asm
2424 34
S
aesni-x86_64.S
in linux-x86_64/crypto/fipsmodule
2345 -
Files With Most Units (Top 20)
File# lines# units
ssl_lib.cc
in src/ssl
2319 259
extensions.cc
in src/ssl
3205 141
ssl_x509.cc
in src/ssl
986 83
hrss.c
in src/crypto/hrss
1374 78
curve25519.c
in src/crypto/curve25519
1733 75
x509_vfy.c
in src/crypto/x509
1750 57
ssl_session.cc
in src/ssl
925 57
delocate.go
in src/util/fipstools/delocate
1524 53
ec.c
in src/crypto/fipsmodule/ec
929 49
bio.c
in src/crypto/bio
505 49
aes_nohw.c
in src/crypto/fipsmodule/aes
875 48
x509_lu.c
in src/crypto/x509
649 48
cbs.c
in src/crypto/bytestring
563 47
x86asm.pl
in src/crypto/perlasm
269 45
pmbtoken.c
in src/crypto/trust_token
1148 45
generate_build_files.py
in src/util
702 45
internal.h
in src/crypto
440 42
ssl_cert.cc
in src/ssl
694 42
modulewrapper.cc
in src/util/fipstools/acvp/modulewrapper
1760 41
cipher.c
in src/crypto/fipsmodule/cipher
478 40
Files With Long Lines (Top 20)

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

File# lines# units# long lines
block.go
in src/util/fipstools/acvp/acvptool/subprocess
322 8 9
delocate.go
in src/util/fipstools/delocate
1524 53 8
drbg.go
in src/util/fipstools/acvp/acvptool/subprocess
165 3 7
ecdsa.go
in src/util/fipstools/acvp/acvptool/subprocess
179 1 7
keyedMac.go
in src/util/fipstools/acvp/acvptool/subprocess
121 1 7
interactive.go
in src/util/fipstools/acvp/acvptool
600 33 6
aead.go
in src/util/fipstools/acvp/acvptool/subprocess
160 1 5
doc.go
in src/util
661 19 4
run_cavp.go
in src/util/fipstools/cavp
494 7 3
testmodulewrapper.go
in src/util/fipstools/acvp/acvptool/testmodulewrapper
444 17 3
acvp.go
in src/util/fipstools/acvp/acvptool/acvp
532 20 3
acvp.go
in src/util/fipstools/acvp/acvptool
551 8 3
tlskdf.go
in src/util/fipstools/acvp/acvptool/subprocess
118 1 3
hmac.go
in src/util/fipstools/acvp/acvptool/subprocess
85 2 3
rsa.go
in src/util/fipstools/acvp/acvptool/subprocess
216 4 3
make_tables.go
in src/crypto/fipsmodule/ec
350 15 2
err_data_generate.go
in src/crypto/err
221 9 2
make_prefix_headers.go
in src/util
172 5 2
fetch_ech_config_list.go
in src/util
323 4 2
compare_benchmarks.go
in src/util
84 4 2