google / XNNPACK
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 6,812 files with 1,474,287 lines of code.
    • 61 very long files (151,765 lines of code)
    • 447 long files (286,743 lines of code)
    • 1,963 medium size files (585,199 lines of codeclsfd_ftr_w_mp_ins)
    • 2,163 small files (320,956 lines of code)
    • 2,178 very small files (129,624 lines of code)
10% | 19% | 39% | 21% | 8%
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
cc72% | 5% | 16% | 5% | <1%
c5% | 18% | 41% | 23% | 9%
h48% | 18% | 17% | 7% | 8%
in3% | 16% | 36% | 32% | 10%
S0% | 43% | 50% | 5% | <1%
bzl0% | 0% | 92% | 0% | 7%
py0% | 0% | 15% | 22% | 62%
cmake0% | 0% | 0% | 0% | 100%
lds0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/amalgam98% | 1% | 0% | <1% | 0%
models99% | 0% | 0% | 0% | <1%
eval86% | 6% | 3% | 3% | 0%
bench44% | 10% | 30% | 13% | 1%
src86% | 7% | 1% | 3% | 1%
src/xnnpack46% | 22% | 14% | 7% | 9%
src/operators37% | 27% | 23% | 10% | 0%
src/qs8-igemm1% | 27% | 53% | 15% | 1%
include100% | 0% | 0% | 0% | 0%
src/qc8-dwconv1% | 50% | 45% | 2% | 0%
src/qs8-dwconv1% | 49% | 44% | 3% | 0%
src/qs8-gemm<1% | 25% | 49% | 21% | 2%
src/f32-dwconv2d-chw0% | 26% | 59% | 13% | <1%
src/qu8-dwconv0% | 48% | 46% | 4% | 0%
src/f32-gemm0% | 16% | 47% | 29% | 6%
src/f32-dwconv0% | 22% | 39% | 26% | 10%
src/qu8-igemm0% | 24% | 38% | 34% | 3%
src/qu8-gemm0% | 25% | 35% | 32% | 5%
src/qc8-igemm0% | 16% | 52% | 29% | 2%
src/qc8-gemm0% | 15% | 48% | 32% | 3%
src/f32-conv-hwc0% | 66% | 33% | 0% | 0%
src/f32-igemm0% | 12% | 51% | 31% | 3%
src/f16-dwconv0% | 35% | 41% | 21% | 1%
src/subgraph0% | 22% | 43% | 34% | 0%
src/f32-spmm0% | 8% | 51% | 38% | 1%
src/x8-transpose0% | 73% | 0% | 0% | 26%
src/tables0% | 95% | 0% | 0% | 4%
src/qs8-gavgpool0% | 3% | 65% | 30% | 1%
src/f32-conv-hwc2chw0% | 19% | 80% | 0% | 0%
src/qu8-gavgpool0% | 3% | 65% | 29% | 1%
src/f32-vsigmoid0% | 0% | 36% | 55% | 7%
src/f32-velu0% | 0% | 41% | 52% | 5%
src/f16-gemm0% | 0% | 73% | 23% | 2%
src/f32-raddstoreexpminusmax0% | 0% | 27% | 66% | 6%
src/f32-raddextexp0% | 0% | 75% | 24% | 0%
src/f32-raddexpminusmax0% | 0% | 57% | 40% | 1%
src/f16-igemm0% | 0% | 65% | 29% | 4%
src/x8-lut0% | 0% | 55% | 25% | 18%
src/f32-f16-vcvt0% | 0% | 33% | 54% | 12%
src/f16-gavgpool0% | 0% | 48% | 49% | 2%
src/f32-pavgpool0% | 0% | 65% | 34% | 0%
src/f32-avgpool0% | 0% | 66% | 33% | 0%
src/qu8-avgpool0% | 0% | 91% | 8% | 0%
src/f32-vscaleexpminusmax0% | 0% | 33% | 57% | 8%
src/x16-transpose0% | 0% | 69% | 7% | 23%
src/f32-vscaleextexp0% | 0% | 33% | 57% | 8%
src/f32-argmaxpool0% | 0% | 56% | 27% | 15%
src/s8-maxpool0% | 0% | 86% | 13% | 0%
src/f32-maxpool0% | 0% | 75% | 24% | 0%
src/jit0% | 0% | 87% | 9% | 2%
src/f16-spmm0% | 0% | 53% | 46% | 0%
src/u8-maxpool0% | 0% | 81% | 18% | 0%
src/f32-prelu0% | 0% | 12% | 48% | 38%
src/f32-ppmm0% | 0% | 21% | 73% | 4%
ROOT0% | 0% | 90% | 0% | 9%
src/qs8-vadd0% | 0% | 8% | 53% | 38%
scripts0% | 0% | 78% | 21% | 0%
src/x32-transpose0% | 0% | 14% | 44% | 41%
src/qs8-vmul0% | 0% | 10% | 48% | 40%
src/s8-ibilinear0% | 0% | 11% | 62% | 25%
src/qs8-vmulc0% | 0% | 10% | 36% | 52%
src/f16-f32-vcvt0% | 0% | 0% | 74% | 25%
src/f32-vsqrt0% | 0% | 0% | 57% | 42%
src/f32-qs8-vcvt0% | 0% | 0% | 44% | 55%
src/f32-ibilinear-chw0% | 0% | 0% | 83% | 16%
src/qs8-vaddc0% | 0% | 0% | 34% | 65%
src/f32-qu8-vcvt0% | 0% | 0% | 35% | 64%
src/f32-vmulcaddc0% | 0% | 0% | 65% | 34%
src/u8-ibilinear0% | 0% | 0% | 65% | 34%
src/f32-gavgpool0% | 0% | 0% | 64% | 35%
src/qu8-vmul0% | 0% | 0% | 49% | 50%
src/f32-vbinary0% | 0% | 0% | 2% | 97%
src/qu8-vmulc0% | 0% | 0% | 31% | 68%
src/qu8-vadd0% | 0% | 0% | 25% | 74%
src/f16-vmulcaddc0% | 0% | 0% | 72% | 27%
tools0% | 0% | 0% | 22% | 77%
src/f16-prelu0% | 0% | 0% | 72% | 27%
src/qs8-requantization0% | 0% | 0% | 20% | 79%
src/qu8-requantization0% | 0% | 0% | 26% | 73%
src/f32-ibilinear0% | 0% | 0% | 27% | 72%
src/x8-zip0% | 0% | 0% | 42% | 57%
src/f32-vrelu0% | 0% | 0% | 18% | 81%
src/xx-pad0% | 0% | 0% | 54% | 45%
src/qs8-f32-vcvt0% | 0% | 0% | 3% | 96%
src/qu8-f32-vcvt0% | 0% | 0% | 4% | 95%
src/f16-vbinary0% | 0% | 0% | 2% | 97%
src/math0% | 0% | 0% | 0% | 100%
src/f32-vrnd0% | 0% | 0% | 0% | 100%
src/f32-vunary0% | 0% | 0% | 0% | 100%
src/qu8-vaddc0% | 0% | 0% | 0% | 100%
src/f32-vhswish0% | 0% | 0% | 0% | 100%
src/f32-vlrelu0% | 0% | 0% | 0% | 100%
src/f32-vclamp0% | 0% | 0% | 0% | 100%
src/x64-transpose0% | 0% | 0% | 0% | 100%
src/x32-zip0% | 0% | 0% | 0% | 100%
src/f32-gavgpool-cw0% | 0% | 0% | 0% | 100%
src/f16-vhswish0% | 0% | 0% | 0% | 100%
src/f16-vclamp0% | 0% | 0% | 0% | 100%
src/f32-rmax0% | 0% | 0% | 0% | 100%
src/s8-vclamp0% | 0% | 0% | 0% | 100%
src/x32-packx0% | 0% | 0% | 0% | 100%
src/u8-vclamp0% | 0% | 0% | 0% | 100%
src/xx-fill0% | 0% | 0% | 0% | 100%
cmake0% | 0% | 0% | 0% | 100%
src/x32-unpool0% | 0% | 0% | 0% | 100%
src/u8-rmax0% | 0% | 0% | 0% | 100%
src/u8-lut32norm0% | 0% | 0% | 0% | 100%
src/x32-depthtospace2d-chw2hwc0% | 0% | 0% | 0% | 100%
src/xx-copy0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
sse2.c
in src/amalgam
10042 68
avx.c
in src/amalgam
9573 71
sse.c
in src/amalgam
7096 52
sse41.c
in src/amalgam
6756 46
init.c
in src
6042 4
avx2.c
in src/amalgam
5603 33
params-init.c
in src
4897 255
avx512skx.c
in src/amalgam
4222 29
params.h
in src/xnnpack
3798 8
fp32-sparse-mobilenet-v3-large.cc
in models
3572 1
fp16-mobilenet-v3-large.cc
in models
3482 1
fp32-mobilenet-v3-large.cc
in models
3480 1
fp32-sparse-mobilenet-v3-small.cc
in models
3103 1
fma3.c
in src/amalgam
3029 17
fp16-mobilenet-v3-small.cc
in models
3023 1
fp32-mobilenet-v3-small.cc
in models
3021 1
qs8-gemm-e2e.cc
in bench
2890 262
f32-roundd.cc
in eval
2760 -
f32-roundu.cc
in eval
2760 -
avx512f.c
in src/amalgam
2493 37
qc8-mobilenet-v2.cc
in models
2385 1
qs8-mobilenet-v2.cc
in models
2278 1
qu8-mobilenet-v2.cc
in models
2278 1
fp32-sparse-mobilenet-v2.cc
in models
2273 1
fp16-mobilenet-v2.cc
in models
2205 1
fp32-mobilenet-v2.cc
in models
2203 1
f32-roundz.cc
in eval
2144 -
packing.c
in src
2096 45
xnnpack.h
in include
1921 -
qs8-gemm.cc
in bench
1850 334
f32-f16-cvt.cc
in eval
1787 -
f32-expm1minus.cc
in eval
1613 -
convolution.cc
in bench
1568 29
f32-roundne.cc
in eval
1564 -
f16-f32-cvt.cc
in eval
1555 -
f32-dwconv2d-chw.cc
in bench
1471 336
convolution-nhwc.c
in src/operators
1442 14
f32-vsigmoid.cc
in bench
1403 1
gemm.h
in src/xnnpack
1333 -
f32-exp.cc
in eval
1319 -
qu8-gemm.cc
in bench
1298 146
f32-gemm-e2e.cc
in bench
1268 111
qu8-gemm-e2e.cc
in bench
1236 110
binary-elementwise-nd.c
in src/operators
1231 36
operator-run.c
in src
1170 49
unary-elementwise-nc.c
in src/operators
1157 48
qc8-mobilenet-v1.cc
in models
1141 1
igemm.h
in src/xnnpack
1127 -
f32-gemm.cc
in bench
1116 155
up24x25-minmax-fp32-sse2-mul16.c
in src/qc8-dwconv/gen
1098 1
Files With Most Units (Top 20)
File# lines# units
f32-dwconv2d-chw.cc
in bench
1471 336
qs8-gemm.cc
in bench
1850 334
qs8-gemm-e2e.cc
in bench
2890 262
params-init.c
in src
4897 255
f32-gemm.cc
in bench
1116 155
qu8-gemm.cc
in bench
1298 146
f32-igemm.cc
in bench
788 126
f32-gemm-e2e.cc
in bench
1268 111
qu8-gemm-e2e.cc
in bench
1236 110
f32-spmm.cc
in bench
497 91
aarch32-assembler.cc
in src/jit
464 81
avx.c
in src/amalgam
9573 71
aarch64-assembler.cc
in src/jit
473 71
sse2.c
in src/amalgam
10042 68
qs8-dwconv.cc
in bench
584 64
qs8-dwconv-e2e.cc
in bench
467 58
f32-dwconv.cc
in bench
541 54
sse.c
in src/amalgam
7096 52
operator-run.c
in src
1170 49
unary-elementwise-nc.c
in src/operators
1157 48
Files With Long Lines (Top 20)

There are 1816 files with lines longer than 120 characters. In total, there are 30909 long lines.

File# lines# units# long lines
init.c
in src
6042 4 769
avx512skx.c
in src/amalgam
4222 29 762
sse2.c
in src/amalgam
10042 68 299
avx2.c
in src/amalgam
5603 33 293
sse41.c
in src/amalgam
6756 46 261
avx.c
in src/amalgam
9573 71 238
up32x25-minmax-fp32-avx2-mul16-vpunpck.c
in src/qc8-dwconv/gen
753 1 208
up32x25-minmax-fp32-avx2-mul16-vpunpck.c
in src/qs8-dwconv/gen
748 1 206
up32x25-minmax-fp32-avx2-mul16-add16-vpunpck.c
in src/qc8-dwconv/gen
681 1 184
up32x25-minmax-fp32-avx2-mul16-add16-vpunpck.c
in src/qs8-dwconv/gen
676 1 182
up32x25-minmax-fp32-avx512skx-mul32.c
in src/qu8-dwconv/gen
485 1 158
up32x25-minmax-fma3-acc2.c
in src/f16-dwconv/gen
708 1 156
up16x25-minmax-fp32-avx2-mul16-vpunpck.c
in src/qc8-dwconv/gen
548 1 156
up16x25-minmax-fp32-avx2-mul16-vpunpck.c
in src/qs8-dwconv/gen
545 1 154
up24x25-minmax-fp32-avx-mul32.c
in src/qc8-dwconv/gen
811 1 151
up24x25-minmax-fp32-sse41-mul32.c
in src/qc8-dwconv/gen
811 1 151
up24x25-minmax-fp32-xop-mul32.c
in src/qc8-dwconv/gen
816 1 151
up32x25-minmax-fma3.c
in src/f16-dwconv/gen
702 1 150
up24x25-minmax-fp32-avx-mul32.c
in src/qs8-dwconv/gen
804 1 150
up24x25-minmax-fp32-sse41-mul32.c
in src/qs8-dwconv/gen
804 1 150