facebookincubator / gloo
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
  • 20% duplication:
    • 22,924 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,762 duplicated lines
  • 6,883 duplicates
system20% (4,762 lines)
Duplication per Extension
py19% (1,610 lines)
h26% (1,546 lines)
cc19% (1,431 lines)
cu21% (175 lines)
Duplication per Component (primary)
gloo34% (2,156 lines)
tools/amd_build/pyHIPIFY19% (1,610 lines)
gloo/transport/tcp20% (421 lines)
gloo/transport/uv20% (308 lines)
gloo/transport/ibverbs9% (79 lines)
gloo/rendezvous15% (70 lines)
gloo/benchmark3% (56 lines)
gloo/nccl11% (56 lines)
gloo/mpi6% (6 lines)
tools/amd_build0% (0 lines)
cmake0% (0 lines)
cmake/Modules0% (0 lines)
gloo/transport0% (0 lines)
gloo/mpi/example0% (0 lines)
gloo/common0% (0 lines)

Duplication Between Components (50+ lines)

G gloo/transport/tcp gloo/transport/tcp gloo/transport/uv gloo/transport/uv gloo/transport/tcp--gloo/transport/uv 512 gloo/transport/ibverbs gloo/transport/ibverbs gloo/transport/ibverbs--gloo/transport/tcp 134

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 6,883 duplicates...
Size#FoldersFilesLinesCode
57 x 2 gloo/transport/tcp
gloo/transport/uv
41:140 (74%)
41:140 (78%)
view
42 x 2 gloo
gloo
107:156 (15%)
153:202 (12%)
view
28 x 2 gloo
gloo
222:267 (7%)
124:169 (23%)
view
25 x 2 gloo
gloo
171:208 (9%)
186:223 (5%)
view
23 x 2 tools/amd_build/pyHIPIFY
tools/amd_build/pyHIPIFY
5819:5841 (<1%)
5836:5858 (<1%)
view
23 x 2 gloo
gloo
19:50 (53%)
24:55 (46%)
view
23 x 2 gloo
gloo
132:161 (8%)
147:176 (5%)
view
22 x 2 gloo
gloo
228:258 (8%)
323:353 (6%)
view
22 x 2 gloo/transport/tcp
gloo/transport/uv
45:76 (46%)
57:88 (47%)
view
21 x 2 gloo
gloo
63:96 (11%)
181:214 (11%)
view
21 x 2 gloo
gloo
266:289 (7%)
362:385 (6%)
view
21 x 2 gloo
gloo
39:63 (7%)
23:47 (6%)
view
20 x 2 gloo
gloo
19:49 (57%)
20:50 (55%)
view
20 x 2 gloo
gloo
35:58 (4%)
24:47 (5%)
view
20 x 2 gloo
gloo
40:63 (7%)
35:58 (4%)
view
20 x 2 gloo
gloo
147:171 (4%)
178:202 (5%)
view
20 x 2 gloo
gloo
558:580 (4%)
612:633 (4%)
view
18 x 2 gloo
gloo
274:298 (6%)
311:335 (3%)
view
18 x 2 gloo
gloo
12:29 (4%)
13:31 (17%)
view
17 x 2 gloo
gloo
20:43 (47%)
19:42 (44%)
view
17 x 2 gloo
gloo
19:42 (48%)
19:42 (44%)
view
17 x 2 tools/amd_build/pyHIPIFY
tools/amd_build/pyHIPIFY
5247:5263 (<1%)
5449:5465 (<1%)
view
16 x 2 gloo
gloo
308:330 (5%)
346:368 (3%)
view
16 x 2 gloo
gloo
150:176 (8%)
188:214 (8%)
view
16 x 2 gloo
gloo
32:50 (42%)
37:55 (38%)
view
15 x 2 gloo/transport/tcp
gloo/transport/uv
134:156 (12%)
101:123 (15%)
view
15 x 2 gloo
gloo
322:336 (3%)
383:397 (3%)
view
15 x 2 gloo
gloo
30:46 (35%)
220:235 (8%)
view
15 x 2 gloo
gloo
311:326 (3%)
370:385 (4%)
view
15 x 2 gloo
gloo
20:36 (27%)
72:88 (16%)
view
14 x 2 gloo
gloo
379:400 (5%)
79:100 (18%)
view
14 x 2 gloo
gloo
60:75 (33%)
248:262 (7%)
view
14 x 2 gloo
gloo
128:167 (4%)
314:356 (12%)
view
14 x 2 tools/amd_build/pyHIPIFY
tools/amd_build/pyHIPIFY
6390:6403 (<1%)
6462:6475 (<1%)
view
14 x 2 gloo
gloo
274:295 (4%)
81:102 (4%)
view
14 x 2 gloo
gloo
394:414 (5%)
478:498 (4%)
view
14 x 2 gloo
gloo
92:112 (3%)
28:48 (14%)
view
13 x 2 gloo
gloo
47:59 (10%)
66:78 (10%)
view
13 x 2 gloo
gloo
28:44 (34%)
31:47 (29%)
view
13 x 2 gloo
gloo
26:41 (13%)
52:67 (6%)
view
13 x 2 gloo
gloo
84:96 (10%)
103:115 (10%)
view
12 x 2 gloo/transport/tcp
gloo/transport/uv
90:107 (7%)
91:108 (10%)
view
12 x 2 gloo/transport/tcp
gloo/transport/tcp/tls
531:554 (1%)
127:145 (6%)
view
12 x 2 gloo
gloo
28:45 (12%)
34:51 (10%)
view
12 x 2 gloo/transport/tcp
gloo/transport/tcp
1074:1093 (1%)
1103:1119 (1%)
view
12 x 2 gloo
gloo
121:136 (14%)
55:70 (27%)
view
12 x 2 gloo
gloo
64:87 (27%)
71:94 (25%)
view
12 x 2 gloo
gloo
125:144 (10%)
164:183 (10%)
view
12 x 2 gloo
gloo
92:109 (2%)
34:51 (10%)
view
11 x 2 gloo/transport/ibverbs
gloo/transport/tcp
23:37 (61%)
31:45 (23%)
view
Duplicated Units
The list of top 9 duplicated units.
See data for all 9 unit duplicates...
Size#FoldersFilesLinesCode
23 x 2 gloo/transport/uv
gloo/transport/tcp
67:104 
67:104 
view
23 x 2 gloo/transport/uv
gloo/transport/tcp
108:141 
108:141 
view
23 x 3 gloo
gloo
gloo
23:48 
39:64 
34:59 
view
18 x 2 gloo/transport/uv
gloo/transport/tcp
44:65 
44:65 
view
12 x 2 gloo/rendezvous
gloo/rendezvous
105:121 
137:153 
view
11 x 2 gloo
gloo
427:439 
91:103 
view
10 x 3 gloo
gloo
gloo
51:62 
23:34 
19:30 
view
9 x 3 gloo
gloo
gloo
19:29 
33:43 
19:29 
view
9 x 2 gloo
gloo
239:249 
550:560 
view