facebookincubator / mvfst
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 8% duplication:
    • 44,947 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,911 duplicated lines
  • 316 duplicates
system8% (3,911 lines)
Duplication per Extension
cpp8% (2,069 lines)
h6% (788 lines)
cmake29% (780 lines)
py4% (274 lines)
Duplication per Component (primary)
quic/api11% (841 lines)
build/fbcode_builder8% (769 lines)
quic/server9% (541 lines)
quic/codec6% (315 lines)
quic/client14% (312 lines)
cmake49% (285 lines)
quic/congestion_control9% (261 lines)
quic/state6% (249 lines)
quic/fizz9% (118 lines)
quic/dsr14% (94 lines)
quic/common3% (54 lines)
quic/logging1% (26 lines)
quic/loss3% (14 lines)
quic/happyeyeballs9% (14 lines)
quic/d6d4% (12 lines)
quic/tools<1% (6 lines)
build0% (0 lines)
quic/flowcontrol0% (0 lines)
quic0% (0 lines)
quic/handshake0% (0 lines)

Duplication Between Components (50+ lines)

G build/fbcode_builder build/fbcode_builder cmake cmake build/fbcode_builder--cmake 570 quic/client quic/client quic/server quic/server quic/client--quic/server 392 quic/fizz quic/fizz quic/fizz--quic/server 50

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 50 longest duplicates.
See data for all 316 duplicates...
Size#FoldersFilesLinesCode
227 x 2 build/fbcode_builder/CMake
cmake
1:256 (85%)
1:256 (86%)
view
35 x 2 build/fbcode_builder/CMake
cmake
262:297 (13%)
259:294 (13%)
view
26 x 2 quic/api
quic/api
2087:2114 (1%)
2163:2190 (1%)
view
23 x 2 quic/api
quic/api
2091:2114 (<1%)
3521:3544 (<1%)
view
23 x 2 quic/api
quic/api
2167:2190 (<1%)
3521:3544 (<1%)
view
22 x 2 quic/client/state
quic/server/state
155:178 (10%)
207:230 (2%)
view
19 x 2 quic/client
quic/server
863:886 (1%)
230:252 (2%)
view
18 x 2 quic/api
quic/api
3548:3565 (<1%)
3602:3619 (<1%)
view
17 x 2 quic/codec
quic/codec
554:571 (4%)
576:593 (4%)
view
16 x 2 quic/server/state
quic/server/state
786:806 (1%)
1321:1341 (1%)
view
15 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
171:185 (8%)
40:54 (15%)
view
15 x 2 quic/congestion_control
quic/congestion_control
55:72 (30%)
64:81 (28%)
view
14 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
722:735 (1%)
1208:1221 (1%)
view
14 x 2 quic/api
quic/api
1319:1332 (1%)
273:286 (6%)
view
14 x 2 quic/congestion_control
quic/congestion_control
290:305 (5%)
110:124 (8%)
view
14 x 2 quic/client
quic/server
907:922 (1%)
275:290 (2%)
view
13 x 2 quic/api
quic/api
2051:2068 (<1%)
2120:2137 (<1%)
view
13 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
78:92 (7%)
136:149 (7%)
view
13 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
1:13 (52%)
1:13 (38%)
view
13 x 2 quic/client/handshake
quic/server/handshake
68:80 (9%)
44:56 (4%)
view
13 x 2 quic/congestion_control
quic/congestion_control
48:61 (5%)
38:51 (8%)
view
13 x 2 quic/api
quic/api
3577:3589 (<1%)
3604:3616 (<1%)
view
13 x 2 quic/client/handshake
quic/server/handshake
85:97 (9%)
233:247 (4%)
view
13 x 2 quic/api
quic/api
1444:1456 (<1%)
289:301 (6%)
view
13 x 2 quic/state
quic/state
209:221 (7%)
238:250 (7%)
view
13 x 2 build/fbcode_builder/CMake
cmake
22:37 (44%)
14:29 (59%)
view
13 x 2 quic/api
quic/api
3550:3562 (<1%)
3577:3589 (<1%)
view
12 x 2 quic/client/handshake
quic/server/handshake
28:39 (25%)
32:43 (11%)
view
12 x 2 quic/server/state
quic/server/state
829:845 (1%)
1361:1377 (1%)
view
11 x 2 quic/server
quic/server
774:785 (1%)
798:809 (1%)
view
11 x 2 quic/dsr/backend
quic/dsr/backend
13:23 (10%)
136:146 (10%)
view
11 x 2 quic/congestion_control
quic/congestion_control
24:36 (20%)
60:72 (27%)
view
11 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
86:97 (6%)
53:64 (11%)
view
11 x 2 quic/congestion_control
quic/congestion_control
33:45 (16%)
22:34 (30%)
view
11 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
115:127 (4%)
180:192 (4%)
view
11 x 2 quic/client
quic/server
850:861 (<1%)
217:228 (1%)
view
11 x 2 quic/state
quic/state
114:124 (6%)
233:243 (6%)
view
11 x 2 quic/fizz/client/handshake
quic/server/handshake
223:236 (4%)
288:301 (3%)
view
10 x 2 quic/api
quic/api
113:124 (5%)
178:189 (5%)
view
10 x 2 quic/fizz/handshake
quic/fizz/handshake
16:27 (13%)
36:47 (13%)
view
10 x 2 quic/client
quic/server
1163:1176 (<1%)
303:316 (1%)
view
10 x 2 quic/api
quic/api
189:198 (<1%)
292:301 (<1%)
view
10 x 2 quic/api
quic/api
136:145 (3%)
162:171 (3%)
view
10 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
489:498 (1%)
501:510 (1%)
view
10 x 2 quic/congestion_control
quic/congestion_control
128:139 (6%)
35:46 (15%)
view
10 x 2 quic/congestion_control
quic/congestion_control
301:312 (4%)
142:152 (8%)
view
10 x 2 quic/congestion_control
quic/congestion_control
39:48 (20%)
45:55 (19%)
view
10 x 2 quic/server/state
quic/server/state
1287:1297 (<1%)
1302:1312 (<1%)
view
10 x 2 build/fbcode_builder/CMake
cmake
2:12 (14%)
7:17 (18%)
view
10 x 2 quic/api
quic/api
964:973 (<1%)
108:117 (4%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
14 x 2 quic/congestion_control
quic/congestion_control
47:63 
37:53 
view
8 x 3 quic/congestion_control
quic/congestion_control
quic/congestion_control
36:45 
26:35 
28:37 
view