facebookresearch / SparseConvNet
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
  • 39% duplication:
    • 12,037 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,695 duplicated lines
  • 552 duplicates
system39% (4,695 lines)
Duplication per Extension
cpp40% (1,679 lines)
cu57% (1,459 lines)
py40% (1,145 lines)
h16% (412 lines)
Duplication per Component (primary)
sparseconvnet/SCN/CUDA59% (2,041 lines)
sparseconvnet40% (1,145 lines)
sparseconvnet/SCN/CPU50% (622 lines)
sparseconvnet/SCN28% (503 lines)
sparseconvnet/SCN/Metadata22% (366 lines)
sparseconvnet/SCN/Metadata/sparsehash/internal1% (18 lines)
sparseconvnet/SCN/misc0% (0 lines)
sparseconvnet/SCN/Metadata/sparsehash0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G sparseconvnet/SCN/CPU sparseconvnet/SCN/CPU sparseconvnet/SCN/CUDA sparseconvnet/SCN/CUDA sparseconvnet/SCN/CPU--sparseconvnet/SCN/CUDA 539

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 552 duplicates...
Size#FoldersFilesLinesCode
49 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
AffineReluTrivialConvolution.cu
AffineReluTrivialConvolution.cu
206:258 (12%)
303:355 (12%)
view
46 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
532:581 (7%)
482:531 (8%)
view
45 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
371:416 (7%)
321:366 (7%)
view
44 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
449:499 (7%)
399:449 (7%)
view
38 x 2 sparseconvnet/SCN/Metadata
sparseconvnet/SCN/Metadata
32bits.h
64bits.h
15:58 (86%)
15:58 (86%)
view
37 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
291:328 (6%)
242:279 (6%)
view
35 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
171:209 (5%)
123:161 (6%)
view
34 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Deconvolution.cu
Deconvolution.cu
203:239 (5%)
281:317 (5%)
view
34 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Convolution.cu
252:288 (5%)
331:367 (5%)
view
32 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
334:368 (5%)
284:318 (5%)
view
31 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
334:367 (5%)
206:239 (5%)
view
31 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
255:288 (5%)
206:239 (5%)
view
31 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
255:288 (5%)
284:317 (5%)
view
30 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
134:168 (4%)
86:120 (5%)
view
30 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
62:97 (4%)
14:49 (5%)
view
29 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
134:167 (4%)
16:49 (5%)
view
29 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
64:97 (4%)
86:119 (5%)
view
29 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Deconvolution.cu
Deconvolution.cu
16:49 (5%)
86:119 (5%)
view
29 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Convolution.cu
64:97 (4%)
134:167 (4%)
view
28 x 2 sparseconvnet/SCN/CUDA
sparseconvnet/SCN/CUDA
cu
Convolution.cu
Deconvolution.cu
100:130 (4%)
52:82 (4%)
view
Duplicated Units
The list of top 10 duplicated units.
See data for all 10 unit duplicates...
Size#FoldersFilesLinesCode
18 x 2 sparseconvnet
sparseconvnet
fullConvolution.py
deconvolution.py
0:0 
0:0 
view
16 x 2 sparseconvnet
sparseconvnet
fullConvolution.py
deconvolution.py
0:0 
0:0 
view
15 x 4 sparseconvnet
sparseconvnet
sparseconvnet
sparseconvnet
convolution.py
fullConvolution.py
deconvolution.py
randomizedStrideConvolution.py
0:0 
0:0 
0:0 
0:0 
view
15 x 2 sparseconvnet/SCN/Metadata
sparseconvnet/SCN/Metadata
32bits.h
64bits.h
39:54 
39:54 
view
11 x 2 sparseconvnet/SCN/Metadata
sparseconvnet/SCN/Metadata
32bits.h
64bits.h
26:37 
26:37 
view
6 x 2 sparseconvnet/SCN/Metadata/sparsehash/internal
sparseconvnet/SCN/Metadata/sparsehash/internal
densehashtable.h
densehashtable.h
1021:1027 
1042:1048 
view
6 x 2 sparseconvnet/SCN/Metadata/sparsehash/internal
sparseconvnet/SCN/Metadata/sparsehash/internal
densehashtable.h
densehashtable.h
1029:1035 
1049:1055 
view
6 x 2 sparseconvnet/SCN/Metadata
sparseconvnet/SCN/Metadata
32bits.h
64bits.h
18:24 
18:24 
view
6 x 2 sparseconvnet
sparseconvnet
inputBatch.py
inputBatch.py
0:0 
0:0 
view
10 x 2 sparseconvnet
sparseconvnet
inputBatch.py
inputBatch.py
0:0 
0:0 
view