facebook / proxygen
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
  • 3% duplication:
    • 45,464 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,699 duplicated lines
  • 155 duplicates
system3% (1,699 lines)
Duplication per Extension
cpp3% (674 lines)
h3% (521 lines)
py4% (274 lines)
cmake10% (230 lines)
Duplication per Component (primary)
proxygen/lib/http3% (1,129 lines)
build/fbcode_builder/getdeps5% (221 lines)
build/fbcode_builder/CMake7% (220 lines)
build/fbcode_builder2% (53 lines)
proxygen/lib/utils1% (52 lines)
proxygen/httpserver1% (14 lines)
cmake5% (10 lines)
ROOT0% (0 lines)
proxygen/httpserver/filters0% (0 lines)
proxygen/lib/ssl0% (0 lines)
proxygen/lib/pools0% (0 lines)
proxygen/lib/transport0% (0 lines)
proxygen/lib/healthcheck0% (0 lines)
proxygen/lib/sampling0% (0 lines)
proxygen/lib/stats0% (0 lines)
proxygen/lib/services0% (0 lines)
proxygen/fuzzers0% (0 lines)
build0% (0 lines)
Longest Duplicates
The list of 50 longest duplicates.
See data for all 155 duplicates...
Size#FoldersFilesLinesCode
19 x 2 proxygen/lib/http/codec
proxygen/lib/http/codec
75:93 (7%)
180:204 (11%)
view
17 x 2 proxygen/lib/http/codec
proxygen/lib/http/stats
158:176 (10%)
75:93 (18%)
view
16 x 2 proxygen/lib/http/codec
proxygen/lib/http/codec
375:392 (2%)
401:421 (2%)
view
16 x 2 proxygen/lib/http
proxygen/lib/http
101:116 (2%)
141:156 (2%)
view
15 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
171:185 (8%)
40:54 (15%)
view
14 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
722:735 (1%)
1208:1221 (1%)
view
13 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
78:92 (7%)
136:149 (7%)
view
13 x 2 proxygen/lib/http/codec
proxygen/lib/http/codec
38:56 (41%)
39:56 (41%)
view
13 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
1:13 (52%)
1:13 (38%)
view
13 x 2 proxygen/lib/http/codec
proxygen/lib/http/codec
96:108 (5%)
207:225 (7%)
view
13 x 2 proxygen/lib/http/stats
proxygen/lib/http/stats
26:38 (56%)
167:179 (8%)
view
13 x 2 proxygen/lib/http/codec
proxygen/lib/http/stats
199:215 (7%)
103:119 (14%)
view
13 x 2 proxygen/lib/http
proxygen/lib/http
185:197 (1%)
227:239 (1%)
view
12 x 2 proxygen/lib/http/codec
proxygen/lib/http/codec
92:104 (15%)
128:140 (15%)
view
12 x 2 proxygen/lib/http/codec
proxygen/lib/http/stats
39:53 (7%)
37:51 (13%)
view
11 x 2 proxygen/lib/http/codec
proxygen/lib/http/stats
69:79 (4%)
90:101 (12%)
view
11 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
115:127 (4%)
180:192 (4%)
view
11 x 2 proxygen/lib/http/session
proxygen/lib/http/session
22:36 (57%)
27:41 (37%)
view
11 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
86:97 (6%)
53:64 (11%)
view
10 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
489:498 (1%)
501:510 (1%)
view
10 x 2 build/fbcode_builder/CMake
cmake
2:12 (14%)
8:18 (18%)
view
10 x 2 proxygen/lib/http
proxygen/lib/http
641:655 (1%)
686:700 (1%)
view
9 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
27:35 (5%)
29:38 (12%)
view
9 x 2 proxygen/lib/http/codec/compress
proxygen/lib/http/codec/compress
71:82 (14%)
113:124 (10%)
view
9 x 2 proxygen/lib/utils
proxygen/lib/utils
54:63 (9%)
20:28 (14%)
view
9 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
291:299 (1%)
328:336 (1%)
view
9 x 2 proxygen/lib/utils
proxygen/lib/utils
59:69 (15%)
79:89 (15%)
view
9 x 2 proxygen/lib/http/codec
proxygen/lib/http/stats
78:93 (5%)
57:71 (10%)
view
9 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
557:566 (1%)
221:230 (3%)
view
9 x 2 proxygen/lib/http/session
proxygen/lib/http/session
36:44 (10%)
67:75 (10%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
20:27 (2%)
621:628 (1%)
view
8 x 2 proxygen/lib/http/stats
proxygen/lib/http/stats
45:52 (9%)
65:72 (9%)
view
8 x 2 build/fbcode_builder
build/fbcode_builder
481:489 (<1%)
502:510 (<1%)
view
8 x 2 proxygen/lib/http/connpool
proxygen/lib/http/connpool
72:85 (3%)
92:105 (3%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
289:297 (1%)
310:318 (1%)
view
8 x 2 proxygen/lib/http/stats
proxygen/lib/http/stats
45:52 (9%)
55:62 (9%)
view
8 x 2 proxygen/lib/http/session
proxygen/lib/http/session
344:351 (<1%)
364:371 (<1%)
view
8 x 2 proxygen/lib/http/codec
proxygen/lib/http/stats
219:228 (4%)
121:129 (8%)
view
8 x 2 proxygen/lib/http/stats
proxygen/lib/http/stats
35:42 (9%)
55:62 (9%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
22:29 (<1%)
256:263 (<1%)
view
8 x 2 proxygen/lib/http/stats
proxygen/lib/http/stats
35:42 (9%)
45:52 (9%)
view
8 x 2 proxygen/lib/http
proxygen/lib/http
154:162 (7%)
85:93 (12%)
view
8 x 2 proxygen/lib/http/session
proxygen/lib/http/session
46:54 (7%)
75:83 (5%)
view
8 x 2 proxygen/lib/utils
proxygen/lib/utils
193:203 (3%)
347:357 (3%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
165:172 (6%)
176:183 (6%)
view
8 x 2 proxygen/lib/http/codec/compress
proxygen/lib/http/codec/compress
118:130 (6%)
133:145 (6%)
view
8 x 2 proxygen/lib/http/stats
proxygen/lib/http/stats
35:42 (9%)
65:72 (9%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
22:29 (<1%)
521:528 (<1%)
view
8 x 2 proxygen/lib/http/session
proxygen/lib/http/session
2973:2982 (<1%)
3623:3632 (<1%)
view
8 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
117:124 (4%)
89:96 (8%)
view
Duplicated Units
The list of top 1 duplicated units.
See data for all 1 unit duplicate
Size#FoldersFilesLinesCode
9 x 2 proxygen/lib/http/codec
proxygen/lib/http/codec
193:203 
681:691 
view