microsoft / cpprestsdk
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 97 files with 37,355 lines of code.
    • 7 very long files (17,288 lines of code)
    • 12 long files (9,165 lines of code)
    • 18 medium size files (5,925 lines of codeclsfd_ftr_w_mp_ins)
    • 23 small files (3,310 lines of code)
    • 37 very small files (1,667 lines of code)
46% | 24% | 15% | 8% | 4%
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
cpp35% | 37% | 16% | 7% | 2%
h40% | 19% | 21% | 11% | 6%
hpp100% | 0% | 0% | 0% | 0%
yml0% | 0% | 0% | 61% | 38%
cmake0% | 0% | 0% | 36% | 63%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Release/include/cpprest49% | 16% | 23% | 7% | 3%
Release/src/http47% | 27% | 13% | 6% | 4%
Release/include/pplx78% | 9% | 0% | 10% | 1%
Release/src/utilities79% | 0% | 0% | 20% | 0%
Release/src/streams0% | 76% | 23% | 0% | 0%
Release/src/json0% | 62% | 37% | 0% | 0%
Release/src/websockets0% | 54% | 30% | 0% | 14%
Release/src/uri0% | 81% | 0% | 18% | 0%
Release/src/pplx0% | 0% | 0% | 73% | 26%
ROOT0% | 0% | 0% | 100% | 0%
Release/cmake0% | 0% | 0% | 36% | 63%
azure-devops0% | 0% | 0% | 0% | 100%
Release/src/pch0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
SafeInt3.hpp
in Release/include/cpprest/details
5326 259
pplxtasks.h
in Release/include/pplx
4583 294
http_client_winhttp.cpp
in Release/src/http/client
2053 34
http_client_asio.cpp
in Release/src/http/client
1723 69
streams.h
in Release/include/cpprest
1248 75
asyncrt_utils.cpp
in Release/src/utilities
1179 42
http_server_asio.cpp
in Release/src/http/listener
1176 42
json_parsing.cpp
in Release/src/json
985 50
http_server_httpsys.cpp
in Release/src/http/listener
972 23
http_msg.cpp
in Release/src/http/common
946 48
http_compression.cpp
in Release/src/http/common
944 33
json.h
in Release/include/cpprest
816 111
filestream.h
in Release/include/cpprest
716 53
fileio_winrt.cpp
in Release/src/streams
694 29
ws_client_wspp.cpp
in Release/src/websockets/client
667 15
http_msg.h
in Release/include/cpprest
651 85
uri.cpp
in Release/src/uri
618 28
pplxcancellation_token.h
in Release/include/pplx
581 41
fileio_win32.cpp
in Release/src/streams
575 20
astreambuf.h
in Release/include/cpprest
485 68
http_client_winrt.cpp
in Release/src/http/client
412 13
fileio_posix.cpp
in Release/src/streams
395 17
json.cpp
in Release/src/json
391 37
ws_client_winrt.cpp
in Release/src/websockets/client
379 10
asyncrt_utils.h
in Release/include/cpprest
372 35
oauth1.cpp
in Release/src/http/oauth
353 12
producerconsumerstream.h
in Release/include/cpprest
349 40
x509_cert_utilities.cpp
in Release/src/http/client
346 7
http_client.h
in Release/include/cpprest
338 44
http_client.cpp
in Release/src/http/client
302 19
rawptrstream.h
in Release/include/cpprest
301 35
interopstream.h
in Release/include/cpprest
297 32
containerstream.h
in Release/include/cpprest
284 36
oauth1.h
in Release/include/cpprest
262 38
ws_client.h
in Release/include/cpprest
254 23
oauth2.h
in Release/include/cpprest
204 30
json_serialization.cpp
in Release/src/json
201 12
base64.cpp
in Release/src/utilities
200 5
azure-pipelines.yml
in root
193 -
threadpool.cpp
in Release/src/pplx
192 8
pplxlinux.h
in Release/include/pplx
183 13
pplxwin.cpp
in Release/src/pplx
178 24
oauth2.cpp
in Release/src/http/oauth
170 4
http_listener.h
in Release/include/cpprest
163 9
pplxwin.h
in Release/include/pplx
158 5
http_headers.h
in Release/include/cpprest
151 19
uri_builder.cpp
in Release/src/uri
140 5
ws_msg.h
in Release/include/cpprest
135 18
base_uri.h
in Release/include/cpprest
134 10
pplx.h
in Release/include/pplx
131 10
Files With Most Units (Top 20)
File# lines# units
pplxtasks.h
in Release/include/pplx
4583 294
SafeInt3.hpp
in Release/include/cpprest/details
5326 259
json.h
in Release/include/cpprest
816 111
http_msg.h
in Release/include/cpprest
651 85
streams.h
in Release/include/cpprest
1248 75
http_client_asio.cpp
in Release/src/http/client
1723 69
astreambuf.h
in Release/include/cpprest
485 68
filestream.h
in Release/include/cpprest
716 53
json_parsing.cpp
in Release/src/json
985 50
http_msg.cpp
in Release/src/http/common
946 48
http_client.h
in Release/include/cpprest
338 44
http_server_asio.cpp
in Release/src/http/listener
1176 42
asyncrt_utils.cpp
in Release/src/utilities
1179 42
pplxcancellation_token.h
in Release/include/pplx
581 41
producerconsumerstream.h
in Release/include/cpprest
349 40
oauth1.h
in Release/include/cpprest
262 38
json.cpp
in Release/src/json
391 37
containerstream.h
in Release/include/cpprest
284 36
asyncrt_utils.h
in Release/include/cpprest
372 35
rawptrstream.h
in Release/include/cpprest
301 35
Files With Long Lines (Top 8)

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

File# lines# units# long lines
SafeInt3.hpp
in Release/include/cpprest/details
5326 259 29
azure-pipelines.yml
in root
193 - 5
build-ubuntu-vcpkg.yml
in azure-devops
44 - 2
cmake
cpprest_find_boost.cmake
in Release/cmake
105 - 1
cmake
cpprest_find_brotli.cmake
in Release/cmake
16 - 1
cmake
cpprest_find_websocketpp.cmake
in Release/cmake
24 - 1
pplxtasks.h
in Release/include/pplx
4583 294 1
build-ubuntu-apt.yml
in azure-devops
29 - 1