aws / aws-cdi-sdk
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 710 units with 13,534 lines of code in units (67.2% of code).
    • 10 very long units (1,445 lines of code)
    • 49 long units (3,392 lines of code)
    • 142 medium size units (4,431 lines of code)
    • 175 small units (2,545 lines of code)
    • 334 very small units (1,721 lines of code)
10% | 25% | 32% | 18% | 12%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
c11% | 24% | 33% | 18% | 11%
cpp0% | 44% | 25% | 19% | 11%
h0% | 0% | 7% | 13% | 78%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/cdi13% | 30% | 29% | 16% | 9%
src/common/src3% | 9% | 42% | 26% | 18%
aws-cpp-sdk-cdi/source/model0% | 52% | 47% | 0% | 0%
aws-cpp-sdk-cdi/source0% | 0% | 43% | 34% | 21%
src/common/include0% | 0% | 0% | 27% | 72%
aws-cpp-sdk-cdi/include/aws/cdi/model0% | 0% | 0% | 0% | 100%
include0% | 0% | 0% | 0% | 100%
aws-cpp-sdk-cdi/include/aws/cdi0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
static bool ParseBaselineVideoConfiguration()
in src/cdi/baseline_profiles_2_00.c
209 50 2
static bool ParseBaselineVideoConfiguration()
in src/cdi/baseline_profiles_1_00.c
209 50 2
147 32 4
CdiReturnStatus RxCreateInternal()
in src/cdi/internal_rx.c
144 31 4
136 27 1
133 32 2
static CDI_THREAD TxPayloadThread()
in src/cdi/internal_tx.c
132 24 1
bool CdiOsSignalsWait()
in src/common/src/os_linux.c
126 34 5
bool ProbeTxControlProcessPacket()
in src/cdi/adapter_efa_probe_tx.c
107 15 3
static CDI_THREAD PollThread()
in src/cdi/adapter.c
102 26 1
void RxPacketReceive()
in src/cdi/internal_rx.c
100 29 3
100 15 7
uint64_t ProbeTxControlProcessProbeState()
in src/cdi/adapter_efa_probe_tx.c
97 21 1
89 18 6
static bool ProcessList()
in src/cdi/rx_reorder_packets.c
86 18 8
CDI_THREAD ReceiveBufferThread()
in src/cdi/receive_buffer.c
86 18 1
CdiReturnStatus EndpointManagerCreate()
in src/cdi/endpoint_manager.c
84 26 5
CdiReturnStatus UserMetrics::Send()
in src/cdi/cloudwatch_sdk_metrics.cpp
83 20 1
82 19 3
uint64_t ProbeRxControlProcessProbeState()
in src/cdi/adapter_efa_probe_rx.c
81 17 1