facebookresearch / DLRM-FlexFlow
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
  • 45% duplication:
    • 41,744 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 19,018 duplicated lines
  • 4,459 duplicates
system45% (19,018 lines)
Duplication per Extension
py97% (9,972 lines)
cu36% (6,490 lines)
cc18% (1,654 lines)
h19% (902 lines)
Duplication per Component (primary)
src32% (6,599 lines)
python66% (5,573 lines)
flexflow99% (4,986 lines)
nmt28% (869 lines)
include21% (628 lines)
scripts23% (363 lines)
cmake0% (0 lines)
conda0% (0 lines)
config0% (0 lines)
bootcamp_demo0% (0 lines)

Duplication Between Components (50+ lines)

G flexflow flexflow python python flexflow--python 9972 src src python--src 534 nmt nmt nmt--python 78 nmt--src 474 include include include--nmt 236

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 4,459 duplicates...
Size#FoldersFilesLinesCode
1017 x 2 flexflow/core
python/flexflow/core
flexflow_cffi.py
flexflow_cffi.py
27:2113 (100%)
27:2113 (100%)
view
417 x 2 flexflow/torch
python/flexflow/torch
fx.py
fx.py
22:546 (100%)
22:546 (100%)
view
389 x 2 flexflow/keras/models
python/flexflow/keras/models
base_model.py
base_model.py
28:489 (100%)
28:489 (100%)
view
339 x 2 flexflow/keras_exp/models
python/flexflow/keras_exp/models
model.py
model.py
34:424 (100%)
34:424 (100%)
view
333 x 2 flexflow/keras/utils
python/flexflow/keras/utils
data_utils.py
data_utils.py
27:742 (100%)
27:742 (100%)
view
322 x 2 flexflow/keras/utils
python/flexflow/keras/utils
generic_utils.py
generic_utils.py
18:623 (100%)
18:623 (100%)
view
294 x 2 flexflow/torch
python/flexflow/torch
model.py
model.py
19:367 (100%)
19:367 (100%)
view
287 x 2 flexflow/onnx
python/flexflow/onnx
model.py
model.py
24:375 (100%)
24:375 (100%)
view
220 x 2 flexflow/keras/layers
python/flexflow/keras/layers
core.py
core.py
25:299 (100%)
25:299 (100%)
view
132 x 2 flexflow/keras/layers
python/flexflow/keras/layers
convolutional.py
convolutional.py
25:171 (100%)
25:171 (100%)
view
131 x 2 flexflow/core
python/flexflow/core
flexflow_top.py
flexflow_top.py
33:226 (100%)
33:226 (100%)
view
120 x 2 flexflow/keras/layers
python/flexflow/keras/layers
base_layer.py
base_layer.py
20:162 (100%)
20:162 (100%)
view
101 x 2 flexflow/core
python/flexflow/core
flexflow_type.py
flexflow_type.py
3:117 (100%)
3:117 (100%)
view
95 x 2 flexflow/keras/models
python/flexflow/keras/models
tensor.py
tensor.py
18:127 (100%)
18:127 (100%)
view
80 x 2 flexflow/keras/layers
python/flexflow/keras/layers
merge.py
merge.py
23:121 (100%)
23:121 (100%)
view
80 x 2 flexflow/keras/layers
python/flexflow/keras/layers
pool.py
pool.py
24:115 (100%)
24:115 (100%)
view
66 x 2 flexflow/keras_exp/models
python/flexflow/keras/models
model.py
base_model.py
254:336 (19%)
329:411 (16%)
view
66 x 2 python/flexflow/keras/models
python/flexflow/keras_exp/models
base_model.py
model.py
329:411 (16%)
254:336 (19%)
view
66 x 2 flexflow/keras/models
python/flexflow/keras_exp/models
base_model.py
model.py
329:411 (16%)
254:336 (19%)
view
66 x 2 flexflow/keras/models
flexflow/keras_exp/models
base_model.py
model.py
329:411 (16%)
254:336 (19%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 201 unit duplicates...
Size#FoldersFilesLinesCode
273 x 2 python/flexflow/torch
flexflow/torch
model.py
model.py
0:0 
0:0 
view
159 x 2 python/flexflow/torch
flexflow/torch
fx.py
fx.py
0:0 
0:0 
view
107 x 2 python/flexflow/keras/utils
flexflow/keras/utils
generic_utils.py
generic_utils.py
0:0 
0:0 
view
75 x 2 python/flexflow/keras/layers
flexflow/keras/layers
convolutional.py
convolutional.py
0:0 
0:0 
view
108 x 2 python/flexflow/keras/utils
flexflow/keras/utils
data_utils.py
data_utils.py
0:0 
0:0 
view
69 x 2 python/flexflow/keras_exp/models
flexflow/keras_exp/models
model.py
model.py
0:0 
0:0 
view
67 x 2 python/flexflow/core
flexflow/core
flexflow_cffi.py
flexflow_cffi.py
0:0 
0:0 
view
59 x 2 python/flexflow/keras/models
flexflow/keras/models
base_model.py
base_model.py
0:0 
0:0 
view
59 x 2 python/flexflow/keras/models
flexflow/keras/models
base_model.py
base_model.py
0:0 
0:0 
view
57 x 2 python/flexflow/keras_exp/models
flexflow/keras_exp/models
model.py
model.py
0:0 
0:0 
view
53 x 4 python/flexflow/keras/models
python/flexflow/keras_exp/models
flexflow/keras/models
flexflow/keras_exp/models
base_model.py
model.py
base_model.py
model.py
0:0 
0:0 
0:0 
0:0 
view
50 x 2 python/flexflow/keras/layers
flexflow/keras/layers
core.py
core.py
0:0 
0:0 
view
50 x 2 python/flexflow/keras/models
flexflow/keras/models
base_model.py
base_model.py
0:0 
0:0 
view
51 x 2 python/flexflow/keras/utils
flexflow/keras/utils
generic_utils.py
generic_utils.py
0:0 
0:0 
view
48 x 2 python/flexflow/keras/models
flexflow/keras/models
tensor.py
tensor.py
0:0 
0:0 
view
47 x 2 python/flexflow/core
flexflow/core
flexflow_top.py
flexflow_top.py
0:0 
0:0 
view
62 x 2 python/flexflow/keras/datasets
flexflow/keras/datasets
reuters.py
reuters.py
0:0 
0:0 
view
43 x 2 python/flexflow/keras/utils
flexflow/keras/utils
data_utils.py
data_utils.py
0:0 
0:0 
view
31 x 2 python/flexflow/onnx
flexflow/onnx
model.py
model.py
0:0 
0:0 
view
28 x 2 python/flexflow/keras/layers
flexflow/keras/layers
pool.py
pool.py
0:0 
0:0 
view