apple / swift-crypto
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 617 files with 304,777 lines of code.
    • 75 very long files (201,680 lines of code)
    • 57 long files (40,007 lines of code)
    • 117 medium size files (36,502 lines of codeclsfd_ftr_w_mp_ins)
    • 107 small files (15,739 lines of code)
    • 261 very small files (10,849 lines of code)
66% | 13% | 11% | 5% | 3%
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% | 10% | 2% | 0% | <1%
h78% | 2% | 8% | 4% | 6%
c14% | 27% | 34% | 16% | 6%
inc100% | 0% | 0% | 0% | 0%
py0% | 81% | 0% | 18% | 0%
swift0% | 9% | 34% | 17% | 39%
cmake0% | 0% | 0% | 100% | 0%
yaml0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Sources/CCryptoBoringSSL/crypto67% | 13% | 11% | 4% | 2%
Sources/CCryptoBoringSSL/include70% | 5% | 11% | 4% | 8%
scripts0% | 81% | 0% | 18% | 0%
Sources/Crypto/Key Agreement0% | 85% | 0% | 0% | 14%
Sources/Crypto/Util0% | 0% | 72% | 11% | 15%
Sources/_CryptoExtras/RSA0% | 0% | 77% | 22% | 0%
Sources/Crypto/Keys0% | 0% | 46% | 0% | 53%
Sources/Crypto/ASN10% | 0% | 30% | 26% | 42%
Sources/Crypto/Signatures0% | 0% | 48% | 0% | 51%
Sources/Crypto/Digests0% | 0% | 0% | 43% | 56%
Sources/Crypto/AEADs0% | 0% | 0% | 41% | 58%
Sources/crypto-shasum0% | 0% | 0% | 100% | 0%
Sources/Crypto/Message Authentication Codes0% | 0% | 0% | 65% | 34%
cmake/modules0% | 0% | 0% | 86% | 13%
Sources/_CryptoExtras/Util0% | 0% | 0% | 0% | 100%
Sources/Crypto/Key Wrapping0% | 0% | 0% | 0% | 100%
docker0% | 0% | 0% | 0% | 100%
Sources/CCryptoBoringSSLShims0% | 0% | 0% | 0% | 100%
Sources/CCryptoBoringSSLShims/include0% | 0% | 0% | 0% | 100%
Sources/Crypto/Key Derivation0% | 0% | 0% | 0% | 100%
Sources/Crypto/Insecure0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Sources/Crypto0% | 0% | 0% | 0% | 100%
Sources/Crypto/PRF0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
obj_dat.h
in Sources/CCryptoBoringSSL/crypto/obj
10638 -
p256-x86_64-table.h
in Sources/CCryptoBoringSSL/crypto/fipsmodule/ec
9473 1
S
chacha20_poly1305_x86_64.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/cipher_extra
8574 -
S
poly_rq_mul.S
in Sources/CCryptoBoringSSL/crypto/hrss/asm
8487 -
S
chacha20_poly1305_x86_64.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/cipher_extra
8456 -
curve25519_tables.h
in Sources/CCryptoBoringSSL/crypto/curve25519
7836 -
boringssl_prefix_symbols_nasm.inc
in Sources/CCryptoBoringSSL/include
5715 -
S
sha256-586.linux.x86.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
5572 -
S
sha1-x86_64.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
5415 -
S
sha1-x86_64.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
5342 -
S
p256-x86_64-asm.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
3866 -
CCryptoBoringSSL_boringssl_prefix_symbols.h
in Sources/CCryptoBoringSSL/include
3850 -
S
sha1-586.linux.x86.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
3733 -
S
sha256-x86_64.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
3602 -
S
sha256-x86_64.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
3538 -
S
p256-x86_64-asm.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
3496 -
S
sha256-586.windows.x86.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
3359 -
CCryptoBoringSSL_nid.h
in Sources/CCryptoBoringSSL/include
3228 -
S
x86_64-mont5.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
3206 -
S
x86_64-mont5.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
3045 -
CCryptoBoringSSL_boringssl_prefix_symbols_asm.h
in Sources/CCryptoBoringSSL/include
2855 -
S
sha512-586.linux.x86.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2842 -
S
sha256-armv4.linux.arm.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2795 -
S
sha256-armv4.ios.arm.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2794 -
S
sha512-x86_64.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2629 -
S
sha512-x86_64.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2585 -
S
aes128gcmsiv-x86_64.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/cipher_extra
2564 -
S
aesni-x86.linux.x86.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2518 -
S
aesni-x86.windows.x86.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2497 -
S
aes128gcmsiv-x86_64.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/cipher_extra
2466 -
S
aesni-x86_64.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2351 -
S
aesni-x86_64.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
2265 -
S
x25519-asm-arm.S
in Sources/CCryptoBoringSSL/crypto/curve25519/asm
2134 -
S
chacha-armv8.linux.aarch64.S
in Sources/CCryptoBoringSSL/crypto/chacha
1923 -
S
chacha-armv8.ios.aarch64.S
in Sources/CCryptoBoringSSL/crypto/chacha
1914 -
S
sha512-armv4.linux.arm.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1862 -
S
sha512-armv4.ios.arm.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1860 -
x509_vfy.c
in Sources/CCryptoBoringSSL/crypto/x509
1750 57
curve25519.c
in Sources/CCryptoBoringSSL/crypto/curve25519
1733 75
S
rsaz-avx2.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1636 -
S
sha512-armv8.linux.aarch64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1602 -
S
sha512-armv8.ios.aarch64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1593 -
S
rsaz-avx2.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1577 -
S
poly1305_arm_asm.S
in Sources/CCryptoBoringSSL/crypto/poly1305
1546 -
S
chacha-x86_64.linux.x86_64.S
in Sources/CCryptoBoringSSL/crypto/chacha
1518 -
S
sha1-armv4-large.ios.arm.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1493 -
S
sha1-armv4-large.linux.arm.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1491 -
S
chacha-x86_64.mac.x86_64.S
in Sources/CCryptoBoringSSL/crypto/chacha
1473 -
err_data.c
in Sources/CCryptoBoringSSL/crypto/err
1471 -
S
bsaes-armv7.linux.arm.S
in Sources/CCryptoBoringSSL/crypto/fipsmodule
1446 -
Files With Most Units (Top 20)
File# lines# units
hrss.c
in Sources/CCryptoBoringSSL/crypto/hrss
1375 78
curve25519.c
in Sources/CCryptoBoringSSL/crypto/curve25519
1733 75
x509_vfy.c
in Sources/CCryptoBoringSSL/crypto/x509
1750 57
bio.c
in Sources/CCryptoBoringSSL/crypto/bio
505 49
ec.c
in Sources/CCryptoBoringSSL/crypto/fipsmodule/ec
929 49
aes_nohw.c
in Sources/CCryptoBoringSSL/crypto/fipsmodule/aes
875 48
x509_lu.c
in Sources/CCryptoBoringSSL/crypto/x509
649 48
cbs.c
in Sources/CCryptoBoringSSL/crypto/bytestring
563 47
pmbtoken.c
in Sources/CCryptoBoringSSL/crypto/trust_token
1148 45
internal.h
in Sources/CCryptoBoringSSL/crypto
440 42
cipher.c
in Sources/CCryptoBoringSSL/crypto/fipsmodule/cipher
478 40
cbb.c
in Sources/CCryptoBoringSSL/crypto/bytestring
548 39
err.c
in Sources/CCryptoBoringSSL/crypto/err
572 37
v3_purp.c
in Sources/CCryptoBoringSSL/crypto/x509v3
693 35
v3_utl.c
in Sources/CCryptoBoringSSL/crypto/x509v3
1065 34
p224-64.c
in Sources/CCryptoBoringSSL/crypto/fipsmodule/ec
793 32
evp.c
in Sources/CCryptoBoringSSL/crypto/evp
310 30
hpke.c
in Sources/CCryptoBoringSSL/crypto/hpke
494 29
p_rsa.c
in Sources/CCryptoBoringSSL/crypto/evp
496 28
e_aes.c
in Sources/CCryptoBoringSSL/crypto/fipsmodule/cipher
1191 28
Files With Long Lines (Top 20)

There are 96 files with lines longer than 120 characters. In total, there are 325 long lines.

File# lines# units# long lines
CCryptoBoringSSL_boringssl_prefix_symbols_asm.h
in Sources/CCryptoBoringSSL/include
2855 - 83
CCryptoBoringSSL_boringssl_prefix_symbols.h
in Sources/CCryptoBoringSSL/include
3850 - 40
ChaChaPoly_boring.swift
in Sources/Crypto/AEADs/ChachaPoly/BoringSSL
178 9 22
ECDH.swift
in Sources/Crypto/Key Agreement
621 12 12
boringssl_prefix_symbols_nasm.inc
in Sources/CCryptoBoringSSL/include
5715 - 11
ASN1.swift
in Sources/Crypto/ASN1
318 8 11
SecureBytes.swift
in Sources/Crypto/Util
337 19 9
HKDF.swift
in Sources/Crypto/Key Derivation
62 - 6
EdDSA_boring.swift
in Sources/Crypto/Signatures/BoringSSL
78 6 6
RSA_boring.swift
in Sources/_CryptoExtras/RSA
296 6 6
NISTCurvesKeys_boring.swift
in Sources/Crypto/Keys/EC/BoringSSL
420 28 5
X25519Keys_boring.swift
in Sources/Crypto/Keys/EC/BoringSSL
90 5 5
HMAC.swift
in Sources/Crypto/Message Authentication Codes/HMAC
103 1 5
ECDSA_boring.swift
in Sources/Crypto/Signatures/BoringSSL
96 11 4
AES-GCM_boring.swift
in Sources/Crypto/AEADs/AES/GCM/BoringSSL
45 - 3
ChaChaPoly.swift
in Sources/Crypto/AEADs/ChachaPoly
61 - 3
SEC1PrivateKey.swift
in Sources/Crypto/ASN1
70 3 3
ECDH_boring.swift
in Sources/Crypto/Key Agreement/BoringSSL
23 - 3
DH.swift
in Sources/Crypto/Key Agreement
80 3 3
RSA.swift
in Sources/_CryptoExtras/RSA
145 - 3