facebookresearch / pplbench
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
  • 13% duplication:
    • 2,454 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 323 duplicated lines
  • 42 duplicates
system13% (323 lines)
Duplication per Extension
py16% (279 lines)
js13% (44 lines)
Duplication per Component (primary)
pplbench/ppls/pymc339% (68 lines)
pplbench/ppls/jags34% (62 lines)
pplbench/ppls/stan24% (62 lines)
website/src/pages15% (44 lines)
pplbench/models12% (42 lines)
pplbench/ppls/numpyro33% (27 lines)
pplbench8% (12 lines)
pplbench/ppls22% (6 lines)
website0% (0 lines)
website/static/css0% (0 lines)
website/static0% (0 lines)
website/src/css0% (0 lines)
ROOT0% (0 lines)
pplbench/lib0% (0 lines)

Duplication Between Components (50+ lines)

G pplbench/ppls/numpyro pplbench/ppls/numpyro pplbench/ppls/pymc3 pplbench/ppls/pymc3 pplbench/ppls/numpyro--pplbench/ppls/pymc3 68 pplbench/ppls/jags pplbench/ppls/jags pplbench/ppls/stan pplbench/ppls/stan pplbench/ppls/jags--pplbench/ppls/stan 50

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 42 duplicates...
Size#FoldersFilesLinesCode
10 x 2 pplbench/ppls/numpyro
pplbench/ppls/pymc3
logistic_regression.py
logistic_regression.py
37:46 (32%)
36:45 (33%)
view
10 x 2 pplbench/ppls/jags
pplbench/ppls/jags
logistic_regression.py
robust_regression.py
17:31 (41%)
17:31 (38%)
view
9 x 2 pplbench/ppls/jags
pplbench/ppls/stan
n_schools.py
n_schools.py
15:23 (20%)
70:78 (20%)
view
9 x 2 pplbench/ppls/pymc3
pplbench/ppls/stan
inference.py
inference.py
26:34 (18%)
31:39 (9%)
view
9 x 2 pplbench/ppls/jags
pplbench/ppls/jags
logistic_regression.py
robust_regression.py
33:42 (37%)
35:44 (34%)
view
8 x 2 pplbench/models
pplbench/models
logistic_regression.py
robust_regression.py
99:112 (15%)
104:117 (15%)
view
8 x 2 pplbench/ppls/jags
pplbench/ppls/numpyro
inference.py
inference.py
21:32 (26%)
24:34 (21%)
view
8 x 2 pplbench/ppls/stan
pplbench/ppls/stan
logistic_regression.py
robust_regression.py
28:43 (33%)
28:43 (30%)
view
8 x 2 pplbench/ppls/numpyro
pplbench/ppls/pymc3
logistic_regression.py
logistic_regression.py
15:22 (25%)
11:18 (26%)
view
8 x 2 website/src/pages
website/src/pages
index.js
index.js
53:60 (3%)
101:108 (3%)
view
8 x 2 pplbench/models
pplbench/models
logistic_regression.py
robust_regression.py
57:64 (15%)
61:68 (15%)
view
8 x 2 website/src/pages
website/src/pages
index.js
index.js
62:69 (3%)
110:117 (3%)
view
7 x 2 pplbench/models
pplbench/models
crowd_sourced_annotation.py
logistic_regression.py
133:141 (11%)
95:102 (13%)
view
7 x 2 pplbench/ppls/numpyro
pplbench/ppls/pymc3
inference.py
inference.py
29:35 (18%)
26:32 (14%)
view
7 x 2 pplbench/ppls/pymc3
pplbench/ppls/pymc3
logistic_regression.py
robust_regression.py
20:29 (23%)
27:36 (17%)
view
7 x 2 pplbench/ppls/pymc3
pplbench/ppls/stan
inference.py
inference.py
55:62 (14%)
62:69 (7%)
view
7 x 2 pplbench/ppls/jags
pplbench/ppls/stan
n_schools.py
n_schools.py
29:38 (15%)
27:36 (15%)
view
7 x 2 pplbench/ppls/numpyro
pplbench/ppls/stan
inference.py
inference.py
29:35 (18%)
31:37 (7%)
view
7 x 2 pplbench/ppls/stan
pplbench/ppls/stan
logistic_regression.py
robust_regression.py
44:51 (29%)
46:53 (26%)
view
6 x 2 pplbench/ppls
pplbench/ppls/jags
base_ppl_inference.py
inference.py
39:44 (27%)
27:32 (20%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
7 x 2 pplbench/ppls/stan
pplbench/ppls/pymc3
inference.py
inference.py
0:0 
0:0 
view
7 x 2 pplbench/ppls/jags
pplbench/ppls/jags
robust_regression.py
logistic_regression.py
0:0 
0:0 
view