apple / indexstore-db
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 570 files with 105,612 lines of code.
    • 16 very long files (30,607 lines of code)
    • 28 long files (19,814 lines of code)
    • 88 medium size files (28,114 lines of codeclsfd_ftr_w_mp_ins)
    • 89 small files (12,783 lines of code)
    • 349 very small files (14,294 lines of code)
28% | 18% | 26% | 12% | 13%
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
cpp41% | 23% | 19% | 9% | 6%
h15% | 19% | 31% | 14% | 18%
c96% | 0% | 3% | 0% | <1%
inc23% | 28% | 34% | 8% | 4%
swift0% | 0% | 35% | 22% | 41%
TXT0% | 0% | 100% | 0% | 0%
py0% | 0% | 0% | 100% | 0%
cmake0% | 0% | 0% | 0% | 100%
mm0% | 0% | 0% | 0% | 100%
m0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
lib/LLVMSupport33% | 20% | 24% | 12% | 8%
lib/Database64% | 12% | 12% | 2% | 7%
include/llvm20% | 22% | 30% | 14% | 11%
lib/Index0% | 40% | 32% | 4% | 21%
lib/CIndexStoreDB0% | 0% | 62% | 8% | 29%
include/indexstore0% | 0% | 100% | 0% | 0%
Sources/ISDBTibs0% | 0% | 41% | 18% | 39%
Sources/IndexStoreDB0% | 0% | 35% | 33% | 30%
include/CIndexStoreDB0% | 0% | 91% | 0% | 8%
lib/Support0% | 0% | 12% | 27% | 60%
lib/Core0% | 0% | 15% | 28% | 55%
include/IndexStoreDB0% | 0% | 17% | 19% | 62%
Sources/ISDBTestSupport0% | 0% | 34% | 0% | 65%
Utilities/import-llvm.d0% | 0% | 0% | 80% | 19%
ROOT0% | 0% | 0% | 100% | 0%
Utilities0% | 0% | 0% | 100% | 0%
include/llvm-c0% | 0% | 0% | 0% | 100%
Sources/tibs0% | 0% | 0% | 0% | 100%
cmake/modules0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
mdb.c
in lib/Database/lmdb
8549 13
APFloat.cpp
in lib/LLVMSupport/Support
3088 127
APInt.cpp
in lib/LLVMSupport/Support
1949 121
YAMLParser.cpp
in lib/LLVMSupport/Support
1880 87
CommandLine.cpp
in lib/LLVMSupport/Support
1705 109
YAMLTraits.h
in include/llvm/Support
1448 59
YAMLTraits.h
in lib/LLVMSupport/include/llvm/Support
1448 59
Triple.cpp
in lib/LLVMSupport/Support
1387 52
MachO.h
in include/llvm/Support
1358 48
MachO.h
in lib/LLVMSupport/include/llvm/Support
1358 48
Host.cpp
in lib/LLVMSupport/Support
1182 26
CommandLine.h
in include/llvm/Support
1067 178
CommandLine.h
in lib/LLVMSupport/include/llvm/Support
1067 178
STLExtras.h
in include/llvm/ADT
1041 102
STLExtras.h
in lib/LLVMSupport/include/llvm/ADT
1041 102
Path.inc
in lib/LLVMSupport/Support/Windows
1039 72
lmdb++.h
in lib/Database/lmdb
991 40
DenseMap.h
in include/llvm/ADT
957 76
DenseMap.h
in lib/LLVMSupport/include/llvm/ADT
957 76
Path.cpp
in lib/LLVMSupport/Support
940 75
IndexDatastore.cpp
in lib/Index
936 49
APInt.h
in include/llvm/ADT
913 116
APInt.h
in lib/LLVMSupport/include/llvm/ADT
913 116
YAMLTraits.cpp
in lib/LLVMSupport/Support
867 120
APFloat.h
in include/llvm/ADT
763 86
APFloat.h
in lib/LLVMSupport/include/llvm/ADT
763 86
Path.inc
in lib/LLVMSupport/Support/Unix
753 18
Error.h
in include/llvm/Support
711 71
Error.h
in lib/LLVMSupport/include/llvm/Support
711 71
IndexSystem.cpp
in lib/Index
639 79
ReadTransaction.cpp
in lib/Database
635 64
raw_ostream.cpp
in lib/LLVMSupport/Support
629 26
JSON.cpp
in lib/LLVMSupport/Support
622 28
SmallVector.h
in include/llvm/ADT
608 63
SmallVector.h
in lib/LLVMSupport/include/llvm/ADT
608 63
FileSystem.h
in include/llvm/Support
604 37
FileSystem.h
in lib/LLVMSupport/include/llvm/Support
604 37
UnicodeCaseFold.cpp
in lib/LLVMSupport/Support
542 1
SymbolIndex.cpp
in lib/Index
533 33
Signals.inc
in lib/LLVMSupport/Support/Windows
531 22
COFF.h
in include/llvm/Support
522 8
COFF.h
in lib/LLVMSupport/include/llvm/Support
522 8
MathExtras.h
in include/llvm/Support
520 71
MathExtras.h
in lib/LLVMSupport/include/llvm/Support
520 71
ConvertUTF.cpp
in lib/LLVMSupport/Support
489 12
ImportTransaction.cpp
in lib/Database
480 39
ARMTargetParser.cpp
in lib/LLVMSupport/Support
468 32
Triple.h
in include/llvm/ADT
466 66
JSON.h
in include/llvm/Support
466 53
Triple.h
in lib/LLVMSupport/include/llvm/ADT
466 66
Files With Most Units (Top 20)
File# lines# units
CommandLine.h
in include/llvm/Support
1067 178
CommandLine.h
in lib/LLVMSupport/include/llvm/Support
1067 178
APFloat.cpp
in lib/LLVMSupport/Support
3088 127
APInt.cpp
in lib/LLVMSupport/Support
1949 121
YAMLTraits.cpp
in lib/LLVMSupport/Support
867 120
APInt.h
in include/llvm/ADT
913 116
APInt.h
in lib/LLVMSupport/include/llvm/ADT
913 116
CommandLine.cpp
in lib/LLVMSupport/Support
1705 109
STLExtras.h
in include/llvm/ADT
1041 102
STLExtras.h
in lib/LLVMSupport/include/llvm/ADT
1041 102
YAMLParser.cpp
in lib/LLVMSupport/Support
1880 87
APFloat.h
in include/llvm/ADT
763 86
APFloat.h
in lib/LLVMSupport/include/llvm/ADT
763 86
IndexSystem.cpp
in lib/Index
639 79
DenseMap.h
in include/llvm/ADT
957 76
DenseMap.h
in lib/LLVMSupport/include/llvm/ADT
957 76
Path.cpp
in lib/LLVMSupport/Support
940 75
Path.inc
in lib/LLVMSupport/Support/Windows
1039 72
IndexStoreCXX.h
in include/indexstore
455 71
Error.h
in include/llvm/Support
711 71
Files With Long Lines (Top 20)

There are 57 files with lines longer than 120 characters. In total, there are 195 long lines.

File# lines# units# long lines
ReadTransaction.cpp
in lib/Database
635 64 25
SymbolIndex.cpp
in lib/Index
533 33 21
IndexDatastore.cpp
in lib/Index
936 49 10
FilePathIndex.cpp
in lib/Index
260 18 9
IndexSystem.cpp
in lib/Index
639 79 9
Database.cpp
in lib/Database
385 16 8
IndexStoreCXX.h
in include/indexstore
455 71 6
IndexStoreCXX.h
in lib/CIndexStoreDB/include/indexstore
455 71 6
IndexStoreCXX.h
in lib/Index/include/indexstore
455 71 6
IndexStoreDB.swift
in Sources/IndexStoreDB
287 2 5
ReadTransactionImpl.h
in lib/Database
80 - 5
SymbolProperty.swift
in Sources/IndexStoreDB
73 - 4
ReadTransaction.h
in include/IndexStoreDB/Database
68 - 4
ReadTransaction.h
in lib/CIndexStoreDB/include/IndexStoreDB/Database
68 - 4
ReadTransaction.h
in lib/Core/include/IndexStoreDB/Database
68 - 4
ReadTransaction.h
in lib/Database/include/IndexStoreDB/Database
68 - 4
ReadTransaction.h
in lib/Index/include/IndexStoreDB/Database
68 - 4
ReadTransaction.h
in lib/Support/include/IndexStoreDB/Database
68 - 4
TibsBuilder.swift
in Sources/ISDBTibs
367 6 3
IndexSystem.h
in include/IndexStoreDB/Index
101 - 3