facebookresearch / bitsandbytes
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
  • 17% duplication:
    • 3,971 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 677 duplicated lines
  • 47 duplicates
system17% (677 lines)
Duplication per Extension
cu23% (449 lines)
py25% (208 lines)
c12% (14 lines)
cuh4% (6 lines)
Duplication per Component (primary)
csrc21% (469 lines)
bitsandbytes/optim23% (172 lines)
bitsandbytes/nn72% (36 lines)
include0% (0 lines)
ROOT0% (0 lines)
bitsandbytes0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 47 duplicates...
Size#FoldersFilesLinesCode
26 x 2 bitsandbytes/optim
bitsandbytes/optim
optimizer.py
optimizer.py
282:314 (6%)
402:434 (6%)
view
18 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
682:703 (1%)
844:865 (1%)
view
18 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
155:173 (1%)
200:218 (1%)
view
18 x 2 bitsandbytes/nn
bitsandbytes/nn
modules.py
modules.py
21:41 (36%)
51:71 (36%)
view
17 x 2 bitsandbytes/optim
bitsandbytes/optim
optimizer.py
optimizer.py
341:363 (4%)
453:476 (4%)
view
15 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
593:610 (<1%)
756:773 (<1%)
view
15 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
59:73 (<1%)
186:200 (<1%)
view
12 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
1552:1564 (<1%)
1724:1736 (<1%)
view
12 x 2 bitsandbytes/optim
bitsandbytes/optim
adagrad.py
adagrad.py
11:22 (25%)
44:55 (25%)
view
10 x 2 bitsandbytes/optim
bitsandbytes/optim
adagrad.py
adagrad.py
29:38 (21%)
46:55 (21%)
view
10 x 2 bitsandbytes/optim
bitsandbytes/optim
adagrad.py
adagrad.py
13:22 (21%)
29:38 (21%)
view
9 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
1470:1478 (<1%)
1631:1639 (<1%)
view
9 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
1055:1065 (<1%)
1259:1269 (<1%)
view
9 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
1403:1412 (<1%)
1581:1590 (<1%)
view
9 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
940:951 (<1%)
1177:1188 (<1%)
view
8 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
1484:1491 (<1%)
1644:1651 (<1%)
view
8 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
1093:1101 (<1%)
1290:1298 (<1%)
view
8 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
614:622 (<1%)
775:783 (<1%)
view
8 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
1039:1047 (<1%)
1249:1257 (<1%)
view
8 x 2 csrc
csrc
cu
kernels.cu
kernels.cu
57:64 (<1%)
134:141 (<1%)
view