awslabs / aws-crt-cpp
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 73 files with 8,848 lines of code.
    • 0 very long files (0 lines of code)
    • 2 long files (1,361 lines of code)
    • 9 medium size files (2,979 lines of codeclsfd_ftr_w_mp_ins)
    • 19 small files (2,799 lines of code)
    • 43 very small files (1,709 lines of code)
0% | 15% | 33% | 31% | 19%
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
h0% | 21% | 6% | 40% | 31%
cpp0% | 12% | 53% | 26% | 8%
py0% | 0% | 0% | 96% | 3%
yml0% | 0% | 0% | 0% | 100%
cmake0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
include/aws0% | 21% | 6% | 40% | 31%
source/mqtt0% | 100% | 0% | 0% | 0%
source0% | 0% | 80% | 11% | 8%
source/auth0% | 0% | 100% | 0% | 0%
source/io0% | 0% | 37% | 37% | 25%
source/iot0% | 0% | 100% | 0% | 0%
source/http0% | 0% | 39% | 60% | 0%
source/crypto0% | 0% | 0% | 100% | 0%
codebuild0% | 0% | 0% | 41% | 58%
cmake0% | 0% | 0% | 0% | 100%
docsrc0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
StringView.h
in include/aws/crt
704 62
MqttClient.cpp
in source/mqtt
657 32
JsonObject.cpp
in source
475 41
TlsOptions.cpp
in source/io
431 27
ImdsClient.cpp
in source
404 28
MqttClient.cpp
in source/iot
374 3
HttpConnection.cpp
in source/http
309 16
Credentials.cpp
in source/auth
286 19
Api.cpp
in source
274 19
MqttClient.h
in include/aws/crt/mqtt
215 -
Sigv4Signing.cpp
in source/auth
211 26
HttpConnection.h
in include/aws/crt/http
195 1
HttpConnectionManager.cpp
in source/http
185 5
ChannelHandler.cpp
in source/io
179 19
Credentials.h
in include/aws/crt/auth
168 1
TlsOptions.h
in include/aws/crt/io
167 7
DateTime.cpp
in source
159 16
Optional.h
in include/aws/crt
158 2
HttpProxyStrategy.cpp
in source/http
157 3
HMAC.cpp
in source/crypto
148 9
Hash.cpp
in source/crypto
146 11
ImdsClient.h
in include/aws/crt
140 -
Stream.cpp
in source/io
137 10
MqttClient.h
in include/aws/iot
136 6
Types.h
in include/aws/crt
133 7
create-projects.py
in codebuild
132 1
HttpRequestResponse.cpp
in source/http
128 13
Uri.cpp
in source/io
119 8
JsonObject.h
in include/aws/crt
111 1
Sigv4Signing.h
in include/aws/crt/auth
101 2
ChannelHandler.h
in include/aws/crt/io
91 2
HostResolver.cpp
in source/io
87 2
DateTime.h
in include/aws/crt
83 -
Bootstrap.cpp
in source/io
77 5
Types.cpp
in source
76 12
Stream.h
in include/aws/crt/io
75 5
Hash.h
in include/aws/crt/crypto
68 2
HMAC.h
in include/aws/crt/crypto
66 2
Api.h
in include/aws/crt
63 -
HttpRequestResponse.h
in include/aws/crt/http
62 1
cmake
AwsCheckHeadersCxx.cmake
in cmake
59 -
SocketOptions.h
in include/aws/crt/io
59 14
HostResolver.h
in include/aws/crt/io
56 2
HttpConnectionManager.h
in include/aws/crt/http
56 -
EventLoopGroup.cpp
in source/io
55 2
Pkcs11.cpp
in source/io
55 2
Signing.h
in include/aws/crt/auth
50 -
HttpProxyStrategy.h
in include/aws/crt/http
45 -
StlAllocator.h
in include/aws/crt
44 3
Bootstrap.h
in include/aws/crt/io
42 -
Files With Most Units (Top 20)
File# lines# units
StringView.h
in include/aws/crt
704 62
JsonObject.cpp
in source
475 41
MqttClient.cpp
in source/mqtt
657 32
ImdsClient.cpp
in source
404 28
TlsOptions.cpp
in source/io
431 27
Sigv4Signing.cpp
in source/auth
211 26
Credentials.cpp
in source/auth
286 19
Api.cpp
in source
274 19
ChannelHandler.cpp
in source/io
179 19
HttpConnection.cpp
in source/http
309 16
DateTime.cpp
in source
159 16
SocketOptions.h
in include/aws/crt/io
59 14
HttpRequestResponse.cpp
in source/http
128 13
Types.cpp
in source
76 12
Hash.cpp
in source/crypto
146 11
Stream.cpp
in source/io
137 10
HMAC.cpp
in source/crypto
148 9
Uri.cpp
in source/io
119 8
Types.h
in include/aws/crt
133 7
TlsOptions.h
in include/aws/crt/io
167 7
Files With Long Lines (Top 2)

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

File# lines# units# long lines
create-projects.py
in codebuild
132 1 2
linux-gcc-4x-x86.yml
in codebuild
31 - 1