tensorflow / tflite-micro-arduino-examples
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 2,601 units with 32,420 lines of code in units (67.0% of code).
    • 14 very long units (3,709 lines of code)
    • 85 long units (5,784 lines of code)
    • 287 medium size units (8,768 lines of code)
    • 342 small units (4,977 lines of code)
    • 1,873 very small units (9,182 lines of code)
11% | 17% | 27% | 15% | 28%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
h13% | 15% | 17% | 12% | 39%
cpp8% | 21% | 37% | 17% | 14%
c15% | 0% | 40% | 23% | 20%
py0% | 0% | 41% | 31% | 27%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/tensorflow/lite/schema24% | 0% | 4% | 13% | 58%
src/tensorflow/lite/core/api36% | 3% | 21% | 24% | 13%
src/tensorflow/lite/micro/kernels6% | 27% | 38% | 13% | 13%
src/tensorflow/lite/experimental/microfrontend15% | 0% | 46% | 17% | 20%
src/tensorflow/lite/kernels/internal1% | 33% | 39% | 13% | 12%
src/tensorflow/lite/micro0% | 17% | 30% | 17% | 35%
src/tensorflow/lite/micro/memory_planner0% | 39% | 14% | 35% | 11%
src/tensorflow/lite/kernels0% | 10% | 34% | 26% | 27%
scripts0% | 0% | 41% | 31% | 27%
src/tensorflow/lite/c0% | 0% | 18% | 57% | 24%
src/tensorflow/lite0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
TfLiteStatus ParseOpDataTfLite()
in src/tensorflow/lite/core/api/flatbuffer_conversions.cpp
660 185 5
inline void BuiltinOptionsUnion::Reset()
in src/tensorflow/lite/schema/schema_generated.h
587 117 0
inline bool VerifyBuiltinOptions()
in src/tensorflow/lite/schema/schema_generated.h
472 118 3
inline BuiltinOptionsUnion::BuiltinOptionsUnion()
in src/tensorflow/lite/schema/schema_generated.h
470 117 1
inline flatbuffers::Offset BuiltinOptionsUnion::Pack()
in src/tensorflow/lite/schema/schema_generated.h
469 117 2
inline const BuiltinOperator()
in src/tensorflow/lite/schema/schema_generated.h
156 1 1
inline const BuiltinOptions()
in src/tensorflow/lite/schema/schema_generated.h
122 1 1
TfLiteStatus EvalQuantizeReference()
in src/tensorflow/lite/micro/kernels/quantize_common.cpp
118 15 2
int FilterbankPopulateState()
in src/tensorflow/lite/experimental/microfrontend/lib/filterbank_util.c
114 20 4
void EvalIntegerSvdfReference()
in src/tensorflow/lite/micro/kernels/svdf_common.cpp
113 16 10
TfLiteStatus EvalMean()
in src/tensorflow/lite/micro/kernels/reduce.cpp
113 19 2
inline void ShuffledFullyConnected()
in src/tensorflow/lite/kernels/internal/reference/fully_connected.h
111 23 10
TfLiteStatus PrepareSvdf()
in src/tensorflow/lite/micro/kernels/svdf_common.cpp
102 8 2
TfLiteStatus NonMaxSuppressionMultiClassRegularHelper()
in src/tensorflow/lite/micro/kernels/detection_postprocess.cpp
102 8 4
TfLiteStatus Prepare()
in src/tensorflow/lite/micro/kernels/cmsis_nn/svdf.cpp
97 6 2
void GreedyMemoryPlanner::CalculateOffsetsIfNeeded()
in src/tensorflow/lite/micro/memory_planner/greedy_memory_planner.cpp
96 17 0
TfLiteStatus Eval()
in src/tensorflow/lite/micro/kernels/transpose_conv.cpp
92 9 2
TfLiteStatus Prepare()
in src/tensorflow/lite/micro/kernels/cmsis_nn/depthwise_conv.cpp
90 5 2
inline void TransposeConv()
in src/tensorflow/lite/kernels/internal/reference/transpose_conv.h
90 17 12
TfLiteStatus EqualEval()
in src/tensorflow/lite/micro/kernels/comparisons.cpp
87 11 2