novifinancial / curve25519-dalek-fiat
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 47 files with 25,722 lines of code.
    • 5 very long files (18,939 lines of code)
    • 3 long files (2,075 lines of code)
    • 9 medium size files (2,930 lines of codeclsfd_ftr_w_mp_ins)
    • 8 small files (1,058 lines of code)
    • 22 very small files (720 lines of code)
73% | 8% | 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
rs73% | 8% | 11% | 4% | 2%
toml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/backend/serial/u6492% | 0% | 7% | 0% | <1%
src/backend/serial/u3286% | 0% | 13% | 0% | <1%
src/backend/vector/avx284% | 0% | 11% | 4% | <1%
src/backend/vector/ifma71% | 23% | 0% | 5% | <1%
src31% | 39% | 15% | 10% | 3%
src/backend/serial/curve_models0% | 0% | 100% | 0% | 0%
benches0% | 0% | 100% | 0% | 0%
src/backend/serial/fiat0% | 0% | 0% | 97% | 2%
src/backend/vector/scalar_mul0% | 0% | 0% | 33% | 66%
src/backend/serial/scalar_mul0% | 0% | 0% | 30% | 69%
ROOT0% | 0% | 0% | 0% | 100%
src/backend/vector0% | 0% | 0% | 0% | 100%
src/backend0% | 0% | 0% | 0% | 100%
src/backend/serial0% | 0% | 0% | 0% | 100%
Longest Files (Top 47)
File# lines# units
constants.rs
in src/backend/serial/u64
7682 -
constants.rs
in src/backend/serial/u32
4709 -
constants.rs
in src/backend/vector/avx2
3388 -
constants.rs
in src/backend/vector/ifma
2043 -
scalar.rs
in src
1117 55
867 67
field.rs
in src/backend/vector/ifma
667 21
541 29
field.rs
in src/backend/vector/avx2
444 12
scalar.rs
in src/backend/serial/u32
403 17
field.rs
in src/backend/serial/u32
357 16
scalar.rs
in src/backend/serial/u64
328 17
field.rs
in src/backend/serial/u64
299 14
mod.rs
in src/backend/serial/curve_models
294 22
279 17
269 21
field.rs
in src
257 16
field.rs
in src/backend/serial/fiat
171 13
edwards.rs
in src/backend/vector/avx2
169 16
edwards.rs
in src/backend/vector/ifma
148 14
window.rs
in src
142 11
113 8
pippenger.rs
in src/backend/vector/scalar_mul
107 2
traits.rs
in src
106 8
pippenger.rs
in src/backend/serial/scalar_mul
102 2
precomputed_straus.rs
in src/backend/serial/scalar_mul
82 2
precomputed_straus.rs
in src/backend/vector/scalar_mul
79 2
straus.rs
in src/backend/serial/scalar_mul
77 2
macros.rs
in src
73 9
straus.rs
in src/backend/vector/scalar_mul
70 2
Cargo.toml
in root
60 -
vartime_double_base.rs
in src/backend/serial/scalar_mul
40 -
lib.rs
in src
39 -
vartime_double_base.rs
in src/backend/vector/scalar_mul
39 -
mod.rs
in src/backend/vector
27 -
mod.rs
in src/backend
26 -
variable_base.rs
in src/backend/serial/scalar_mul
26 -
mod.rs
in src/backend/serial
21 -
variable_base.rs
in src/backend/vector/scalar_mul
16 -
mod.rs
in src/backend/vector/scalar_mul
8 -
mod.rs
in src/backend/serial/scalar_mul
8 -
mod.rs
in src/backend/vector/avx2
7 -
mod.rs
in src/backend/vector/ifma
7 -
mod.rs
in src/backend/serial/fiat
5 -
4 -
mod.rs
in src/backend/serial/u64
3 -
mod.rs
in src/backend/serial/u32
3 -
Files With Most Units (Top 26)
File# lines# units
867 67
scalar.rs
in src
1117 55
541 29
mod.rs
in src/backend/serial/curve_models
294 22
269 21
field.rs
in src/backend/vector/ifma
667 21
279 17
scalar.rs
in src/backend/serial/u64
328 17
scalar.rs
in src/backend/serial/u32
403 17
field.rs
in src
257 16
edwards.rs
in src/backend/vector/avx2
169 16
field.rs
in src/backend/serial/u32
357 16
edwards.rs
in src/backend/vector/ifma
148 14
field.rs
in src/backend/serial/u64
299 14
field.rs
in src/backend/serial/fiat
171 13
field.rs
in src/backend/vector/avx2
444 12
window.rs
in src
142 11
macros.rs
in src
73 9
113 8
traits.rs
in src
106 8
precomputed_straus.rs
in src/backend/vector/scalar_mul
79 2
straus.rs
in src/backend/vector/scalar_mul
70 2
pippenger.rs
in src/backend/vector/scalar_mul
107 2
precomputed_straus.rs
in src/backend/serial/scalar_mul
82 2
straus.rs
in src/backend/serial/scalar_mul
77 2
pippenger.rs
in src/backend/serial/scalar_mul
102 2
Files With Long Lines (Top 6)

There are 6 files with lines longer than 120 characters. In total, there are 50 long lines.

File# lines# units# long lines
scalar.rs
in src/backend/serial/u32
403 17 24
field.rs
in src/backend/serial/u32
357 16 10
field.rs
in src/backend/vector/avx2
444 12 9
scalar.rs
in src
1117 55 5
Cargo.toml
in root
60 - 1
field.rs
in src
257 16 1
Correlations

File Size vs. Commits (all time): 47 points

Cargo.toml x: 381 commits (all time) y: 60 lines of code src/lib.rs x: 188 commits (all time) y: 39 lines of code src/backend/serial/fiat/field.rs x: 3 commits (all time) y: 171 lines of code src/backend/mod.rs x: 44 commits (all time) y: 26 lines of code src/backend/serial/fiat/mod.rs x: 1 commits (all time) y: 5 lines of code src/backend/serial/mod.rs x: 8 commits (all time) y: 21 lines of code src/backend/serial/u64/constants.rs x: 15 commits (all time) y: 7682 lines of code src/constants.rs x: 140 commits (all time) y: 113 lines of code src/field.rs x: 163 commits (all time) y: 257 lines of code src/scalar.rs x: 264 commits (all time) y: 1117 lines of code benches/dalek_benchmarks.rs x: 30 commits (all time) y: 269 lines of code src/backend/serial/u32/field.rs x: 8 commits (all time) y: 357 lines of code src/backend/serial/u64/field.rs x: 8 commits (all time) y: 299 lines of code src/edwards.rs x: 199 commits (all time) y: 867 lines of code src/ristretto.rs x: 172 commits (all time) y: 541 lines of code src/traits.rs x: 34 commits (all time) y: 106 lines of code src/backend/serial/u64/scalar.rs x: 10 commits (all time) y: 328 lines of code src/backend/vector/avx2/edwards.rs x: 11 commits (all time) y: 169 lines of code src/montgomery.rs x: 113 commits (all time) y: 279 lines of code src/backend/serial/scalar_mul/variable_base.rs x: 10 commits (all time) y: 26 lines of code src/backend/serial/u32/constants.rs x: 14 commits (all time) y: 4709 lines of code src/backend/vector/avx2/field.rs x: 15 commits (all time) y: 444 lines of code src/backend/serial/curve_models/mod.rs x: 10 commits (all time) y: 294 lines of code src/backend/serial/scalar_mul/mod.rs x: 13 commits (all time) y: 8 lines of code src/backend/serial/scalar_mul/pippenger.rs x: 17 commits (all time) y: 102 lines of code src/backend/serial/scalar_mul/precomputed_straus.rs x: 12 commits (all time) y: 82 lines of code src/backend/serial/scalar_mul/straus.rs x: 14 commits (all time) y: 77 lines of code src/backend/serial/scalar_mul/vartime_double_base.rs x: 8 commits (all time) y: 40 lines of code src/backend/serial/u32/mod.rs x: 5 commits (all time) y: 3 lines of code src/backend/serial/u32/scalar.rs x: 6 commits (all time) y: 403 lines of code src/backend/vector/avx2/constants.rs x: 7 commits (all time) y: 3388 lines of code src/backend/vector/avx2/mod.rs x: 15 commits (all time) y: 7 lines of code src/backend/vector/ifma/constants.rs x: 5 commits (all time) y: 2043 lines of code src/backend/vector/ifma/edwards.rs x: 14 commits (all time) y: 148 lines of code src/backend/vector/ifma/field.rs x: 24 commits (all time) y: 667 lines of code src/backend/vector/ifma/mod.rs x: 17 commits (all time) y: 7 lines of code src/backend/vector/mod.rs x: 20 commits (all time) y: 27 lines of code src/backend/vector/scalar_mul/mod.rs x: 11 commits (all time) y: 8 lines of code src/backend/vector/scalar_mul/pippenger.rs x: 15 commits (all time) y: 107 lines of code src/macros.rs x: 8 commits (all time) y: 73 lines of code src/window.rs x: 10 commits (all time) y: 142 lines of code src/backend/serial/u64/mod.rs x: 3 commits (all time) y: 3 lines of code
7682.0
lines of code
  min: 3.0
  average: 547.28
  25th percentile: 26.0
  median: 106.0
  75th percentile: 328.0
  max: 7682.0
0 381.0
commits (all time)
min: 1.0 | average: 44.83 | 25th percentile: 8.0 | median: 13.0 | 75th percentile: 24.0 | max: 381.0

File Size vs. Contributors (all time): 47 points

Cargo.toml x: 20 contributors (all time) y: 60 lines of code src/lib.rs x: 15 contributors (all time) y: 39 lines of code src/backend/serial/fiat/field.rs x: 1 contributors (all time) y: 171 lines of code src/backend/mod.rs x: 5 contributors (all time) y: 26 lines of code src/backend/serial/fiat/mod.rs x: 1 contributors (all time) y: 5 lines of code src/backend/serial/mod.rs x: 3 contributors (all time) y: 21 lines of code src/backend/serial/u64/constants.rs x: 6 contributors (all time) y: 7682 lines of code src/constants.rs x: 8 contributors (all time) y: 113 lines of code src/field.rs x: 11 contributors (all time) y: 257 lines of code src/scalar.rs x: 23 contributors (all time) y: 1117 lines of code benches/dalek_benchmarks.rs x: 7 contributors (all time) y: 269 lines of code src/backend/serial/u32/field.rs x: 4 contributors (all time) y: 357 lines of code src/backend/serial/u64/field.rs x: 4 contributors (all time) y: 299 lines of code src/edwards.rs x: 14 contributors (all time) y: 867 lines of code src/ristretto.rs x: 14 contributors (all time) y: 541 lines of code src/traits.rs x: 5 contributors (all time) y: 106 lines of code src/backend/serial/u64/scalar.rs x: 4 contributors (all time) y: 328 lines of code src/backend/vector/avx2/edwards.rs x: 3 contributors (all time) y: 169 lines of code src/montgomery.rs x: 9 contributors (all time) y: 279 lines of code src/backend/serial/u32/constants.rs x: 5 contributors (all time) y: 4709 lines of code src/backend/vector/avx2/field.rs x: 4 contributors (all time) y: 444 lines of code src/backend/serial/curve_models/mod.rs x: 3 contributors (all time) y: 294 lines of code src/backend/serial/scalar_mul/pippenger.rs x: 3 contributors (all time) y: 102 lines of code src/backend/serial/scalar_mul/precomputed_straus.rs x: 2 contributors (all time) y: 82 lines of code src/backend/serial/scalar_mul/straus.rs x: 4 contributors (all time) y: 77 lines of code src/backend/serial/scalar_mul/vartime_double_base.rs x: 2 contributors (all time) y: 40 lines of code src/backend/serial/u32/mod.rs x: 2 contributors (all time) y: 3 lines of code src/backend/serial/u32/scalar.rs x: 2 contributors (all time) y: 403 lines of code src/backend/vector/avx2/constants.rs x: 2 contributors (all time) y: 3388 lines of code src/backend/vector/avx2/mod.rs x: 4 contributors (all time) y: 7 lines of code src/backend/vector/ifma/constants.rs x: 2 contributors (all time) y: 2043 lines of code src/backend/vector/ifma/edwards.rs x: 2 contributors (all time) y: 148 lines of code src/backend/vector/ifma/field.rs x: 2 contributors (all time) y: 667 lines of code src/macros.rs x: 3 contributors (all time) y: 73 lines of code src/window.rs x: 3 contributors (all time) y: 142 lines of code
7682.0
lines of code
  min: 3.0
  average: 547.28
  25th percentile: 26.0
  median: 106.0
  75th percentile: 328.0
  max: 7682.0
0 23.0
contributors (all time)
min: 1.0 | average: 4.96 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 5.0 | max: 23.0

File Size vs. Commits (30 days): 0 points

No data for "commits (30d)" vs. "lines of code".

File Size vs. Contributors (30 days): 0 points

No data for "contributors (30d)" vs. "lines of code".


File Size vs. Commits (90 days): 0 points

No data for "commits (90d)" vs. "lines of code".

File Size vs. Contributors (90 days): 0 points

No data for "contributors (90d)" vs. "lines of code".