facebookresearch / faiss
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 447 files with 72,716 lines of code.
    • 3 very long files (3,391 lines of code)
    • 37 long files (25,227 lines of code)
    • 72 medium size files (22,080 lines of codeclsfd_ftr_w_mp_ins)
    • 72 small files (9,934 lines of code)
    • 263 very small files (12,084 lines of code)
4% | 34% | 30% | 13% | 16%
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
cpp10% | 49% | 23% | 8% | 7%
cuh0% | 36% | 33% | 14% | 15%
cu0% | 29% | 47% | 13% | 8%
py0% | 13% | 42% | 23% | 20%
h0% | 6% | 21% | 22% | 50%
bash0% | 0% | 71% | 28% | 0%
cmake0% | 0% | 100% | 0% | 0%
c0% | 0% | 0% | 0% | 100%
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
faiss/impl10% | 51% | 18% | 10% | 8%
faiss6% | 42% | 28% | 9% | 12%
faiss/utils14% | 44% | 24% | 9% | 7%
faiss/gpu0% | 28% | 39% | 15% | 16%
faiss/invlists0% | 59% | 10% | 15% | 14%
faiss/python0% | 83% | 0% | 0% | 16%
benchs/bench_all_ivf0% | 0% | 89% | 0% | 10%
contrib0% | 0% | 59% | 21% | 19%
benchs0% | 0% | 28% | 35% | 35%
cmake0% | 0% | 98% | 0% | 1%
benchs/distributed_ondisk0% | 0% | 24% | 54% | 20%
benchs/link_and_code0% | 0% | 39% | 60% | 0%
c_api/impl0% | 0% | 69% | 0% | 30%
c_api0% | 0% | 0% | 26% | 73%
c_api/gpu0% | 0% | 0% | 16% | 83%
tutorial/cpp0% | 0% | 0% | 0% | 100%
c_api/utils0% | 0% | 0% | 0% | 100%
tutorial/python0% | 0% | 0% | 0% | 100%
conda/faiss-gpu0% | 0% | 0% | 0% | 100%
conda/faiss0% | 0% | 0% | 0% | 100%
conda0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ScalarQuantizer.cpp
in faiss/impl
1231 94
VectorTransform.cpp
in faiss
1100 24
partitioning.cpp
in faiss/utils
1060 35
IndexHNSW.cpp
in faiss
933 27
IndexIVF.cpp
in faiss
930 33
IndexIVFPQFastScan.cpp
in faiss
927 15
cuh
Tensor-inl.cuh
in faiss/gpu/utils
919 -
__init__.py
in faiss/python
914 51
IndexIVFPQ.cpp
in faiss
910 38
index_read.cpp
in faiss/impl
902 18
IndexPQ.cpp
in faiss
836 43
distances_simd.cpp
in faiss/utils
826 57
PolysemousTraining.cpp
in faiss/impl
769 32
ResidualQuantizer.cpp
in faiss/impl
751 9
cuh
GpuScalarQuantizer.cuh
in faiss/gpu/impl
691 -
index_write.cpp
in faiss/impl
680 24
ProductQuantizer.cpp
in faiss/impl
658 27
hamming.cpp
in faiss/utils
653 31
simdlib_neon.h
in faiss/utils
651 107
cu
IVFPQ.cu
in faiss/gpu/impl
649 -
cuh
PQScanMultiPassNoPrecomputed-inl.cuh
in faiss/gpu/impl
647 -
cuh
PQCodeDistances-inl.cuh
in faiss/gpu/impl
637 -
cu
PQScanMultiPassPrecomputed.cu
in faiss/gpu/impl
634 -
LocalSearchQuantizer.cpp
in faiss/impl
633 21
HNSW.cpp
in faiss/impl
630 27
OnDiskInvertedLists.cpp
in faiss/invlists
618 26
AutoTune.cpp
in faiss
611 21
IndexBinaryIVF.cpp
in faiss
608 26
index_factory.cpp
in faiss
594 7
cuh
Tensor.cuh
in faiss/gpu/utils
586 -
utils.cpp
in faiss/utils
580 26
cu
Distance.cu
in faiss/gpu/impl
579 -
lattice_Zn.cpp
in faiss/impl
564 27
cu
IVFAppend.cu
in faiss/gpu/impl
548 -
cuh
Select.cuh
in faiss/gpu/utils
546 -
Clustering.cpp
in faiss
545 11
cu
IVFBase.cu
in faiss/gpu/impl
533 -
NSG.cpp
in faiss/impl
529 17
distances.cpp
in faiss/utils
503 19
InvertedLists.cpp
in faiss/invlists
503 46
simdlib_emulated.h
in faiss/utils
496 76
bench_gpu_1bn.py
in benchs
473 20
cuh
MergeNetworkWarp.cuh
in faiss/gpu/utils
469 -
cuh
MathOperators.cuh
in faiss/gpu/utils
466 -
cu
IVFFlatScan.cu
in faiss/gpu/impl
453 -
torch_utils.py
in contrib
442 10
run_on_cluster_generic.bash
in benchs/bench_all_ivf
432 -
cu
GpuIndex.cu
in faiss/gpu
426 -
AdditiveQuantizer.cpp
in faiss/impl
421 17
StandardGpuResources.cpp
in faiss/gpu
410 29
Files With Most Units (Top 20)
File# lines# units
simdlib_neon.h
in faiss/utils
651 107
ScalarQuantizer.cpp
in faiss/impl
1231 94
simdlib_emulated.h
in faiss/utils
496 76
simdlib_avx2.h
in faiss/utils
308 67
distances_simd.cpp
in faiss/utils
826 57
__init__.py
in faiss/python
914 51
InvertedLists.cpp
in faiss/invlists
503 46
IndexPQ.cpp
in faiss
836 43
datasets.py
in contrib
201 40
IndexIVFPQ.cpp
in faiss
910 38
partitioning.cpp
in faiss/utils
1060 35
IndexIVF.cpp
in faiss
930 33
PolysemousTraining.cpp
in faiss/impl
769 32
hamming.cpp
in faiss/utils
653 31
StandardGpuResources.cpp
in faiss/gpu
410 29
hamming-inl.h
in faiss/utils
404 28
lattice_Zn.cpp
in faiss/impl
564 27
HNSW.cpp
in faiss/impl
630 27
ProductQuantizer.cpp
in faiss/impl
658 27
IndexHNSW.cpp
in faiss
933 27
Files With Long Lines (Top 1)

There is only one file with lines longer than 120 characters. In total, there are 3 long lines.

File# lines# units# long lines
cmake
FindMKL.cmake
in cmake
315 - 3