neo-ai / treelite
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 102 files with 9,360 lines of code.
    • 0 very long files (0 lines of code)
    • 1 long files (550 lines of code)
    • 13 medium size files (4,283 lines of codeclsfd_ftr_w_mp_ins)
    • 15 small files (2,074 lines of code)
    • 73 very small files (2,453 lines of code)
0% | 5% | 45% | 22% | 26%
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
cc0% | 13% | 64% | 9% | 13%
h0% | 0% | 33% | 29% | 37%
py0% | 0% | 37% | 24% | 37%
yml0% | 0% | 100% | 0% | 0%
java0% | 0% | 0% | 47% | 52%
cpp0% | 0% | 0% | 100% | 0%
cmake0% | 0% | 0% | 68% | 31%
proto0% | 0% | 0% | 0% | 100%
scala0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/compiler0% | 25% | 14% | 25% | 34%
src/frontend0% | 0% | 99% | 0% | <1%
runtime/native0% | 0% | 51% | 19% | 29%
include/treelite0% | 0% | 60% | 12% | 26%
src/c_api0% | 0% | 90% | 0% | 10%
python/treelite0% | 0% | 30% | 33% | 36%
ROOT0% | 0% | 100% | 0% | 0%
src/common0% | 0% | 91% | 0% | 8%
runtime/java0% | 0% | 0% | 56% | 43%
cmake0% | 0% | 0% | 100% | 0%
src0% | 0% | 0% | 47% | 52%
python0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ast_native.cc
in src/compiler
550 13
c_api.cc
in src/c_api
495 41
predictor.cc
in runtime/native/src
405 9
frontend.py
in python/treelite
381 43
builder.cc
in src/frontend
380 4
xgboost.cc
in src/frontend
376 26
lightgbm.cc
in src/frontend
349 6
failsafe.cc
in src/compiler
321 7
common.h
in include/treelite
306 25
protobuf.cc
in src/frontend
281 5
azure-pipelines.yml
in root
269 -
predictor.py
in runtime/native/python/treelite_runtime
257 13
tree.h
in include/treelite
249 34
filesystem.h
in src/common
214 5
treelite4j.cpp
in runtime/java/treelite4j/src/native
199 2
ast.h
in src/compiler/ast
172 15
core.py
in python/treelite
168 12
cmake
Utils.cmake
in cmake
166 -
code_folding_util.h
in src/compiler/common
156 -
c_api_runtime.cc
in runtime/native/src/c_api
143 13
Predictor.java
in runtime/java/treelite4j/src/main/java/ml/dmlc/treelite4j
139 5
util.py
in python/treelite/contrib
129 11
annotator.cc
in src
125 4
c_api.h
in include/treelite
119 -
__init__.py
in python/treelite/contrib
118 4
pred_transform.h
in src/compiler/native
114 8
elf_formatter.cc
in src/compiler/elf
111 5
thread_pool.h
in runtime/native/src/thread_pool
108 3
BatchBuilder.java
in runtime/java/treelite4j/src/main/java/ml/dmlc/treelite4j
107 3
NativeLibLoader.java
in runtime/java/treelite4j/src/main/java/ml/dmlc/treelite4j
99 5
predictor.h
in runtime/native/include/treelite
93 7
msvc.py
in python/treelite/contrib
80 6
fold_code.cc
in src/compiler/ast
79 2
spsc_queue.h
in runtime/native/src/thread_pool
79 4
cmake
Utils.cmake
in runtime/native/cmake
78 -
pred_transform.cc
in src/compiler
74 -
build.cc
in src/compiler/ast
71 1
create_jni.py
in runtime/java/treelite4j
69 5
data.cc
in src
66 -
setup.py
in python
65 -
proto
tree.proto
in src
64 -
quantize.cc
in src/compiler/ast
63 1
qnode_template.h
in src/compiler/native
60 1
frontend.h
in include/treelite
60 -
builder.h
in src/compiler/ast
59 -
split.cc
in src/compiler/ast
54 2
compiler.h
in include/treelite
53 2
c_api_runtime.h
in runtime/native/include/treelite
49 -
TreeliteJNI.java
in runtime/java/treelite4j/src/main/java/ml/dmlc/treelite4j
48 2
main_template.h
in src/compiler/native
44 -
Files With Most Units (Top 20)
File# lines# units
frontend.py
in python/treelite
381 43
c_api.cc
in src/c_api
495 41
tree.h
in include/treelite
249 34
xgboost.cc
in src/frontend
376 26
common.h
in include/treelite
306 25
ast.h
in src/compiler/ast
172 15
ast_native.cc
in src/compiler
550 13
c_api_runtime.cc
in runtime/native/src/c_api
143 13
predictor.py
in runtime/native/python/treelite_runtime
257 13
core.py
in python/treelite
168 12
util.py
in python/treelite/contrib
129 11
predictor.cc
in runtime/native/src
405 9
pred_transform.h
in src/compiler/native
114 8
failsafe.cc
in src/compiler
321 7
Entry.java
in runtime/java/treelite4j/src/main/java/ml/dmlc/treelite4j
29 7
predictor.h
in runtime/native/include/treelite
93 7
compat.py
in python/treelite/common
39 7
lightgbm.cc
in src/frontend
349 6
msvc.py
in python/treelite/contrib
80 6
util.py
in python/treelite/common
37 6
Files With Long Lines (Top 2)

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

File# lines# units# long lines
azure-pipelines.yml
in root
269 - 1
DataPoint.scala
in runtime/java/treelite4j/src/main/scala/ml/dmlc/treelite4j
6 - 1