golang / arch
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
  • 5% duplication:
    • 43,415 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,345 duplicated lines
  • 477 duplicates
system5% (2,345 lines)
Duplication per Extension
go5% (2,345 lines)
Duplication per Component (primary)
arm64/arm64asm13% (860 lines)
x86/x86asm5% (671 lines)
arm/armasm2% (263 lines)
arm/armspec25% (137 lines)
arm64/arm64spec19% (90 lines)
ppc64/ppc64asm1% (90 lines)
ppc64/ppc64spec30% (88 lines)
x86/x86spec1% (41 lines)
arm/armmap7% (38 lines)
x86/x86map4% (38 lines)
x86/x86avxgen2% (16 lines)
ppc64/ppc64map2% (13 lines)
ppc64/ppc64util0% (0 lines)
arm64/arm64gen0% (0 lines)
x86/xeddata0% (0 lines)
x86/x86csv0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G arm/armasm arm/armasm arm64/arm64asm arm64/arm64asm arm/armasm--arm64/arm64asm 194 ppc64/ppc64asm ppc64/ppc64asm arm/armasm--ppc64/ppc64asm 56 arm64/arm64asm--ppc64/ppc64asm 64 arm/armspec arm/armspec arm64/arm64spec arm64/arm64spec arm/armspec--arm64/arm64spec 180 ppc64/ppc64spec ppc64/ppc64spec arm/armspec--ppc64/ppc64spec 176 x86/x86spec x86/x86spec arm/armspec--x86/x86spec 82 arm64/arm64spec--ppc64/ppc64spec 110 arm64/arm64spec--x86/x86spec 82 ppc64/ppc64spec--x86/x86spec 72 arm/armmap arm/armmap x86/x86map x86/x86map arm/armmap--x86/x86map 76

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 477 duplicates...
Size#FoldersFilesLinesCode
83 x 2 x86/x86asm
x86/x86asm
inst.go
plan9x.go
566:648 (16%)
299:381 (26%)
view
64 x 2 arm/armasm
arm64/arm64asm
inst.go
inst.go
157:221 (22%)
197:261 (8%)
view
60 x 2 arm/armspec
arm64/arm64spec
spec.go
spec.go
516:608 (15%)
616:708 (12%)
view
39 x 2 arm64/arm64spec
ppc64/ppc64spec
spec.go
spec.go
640:694 (8%)
420:474 (13%)
view
39 x 2 arm/armspec
ppc64/ppc64spec
spec.go
spec.go
540:594 (10%)
420:474 (13%)
view
32 x 2 arm64/arm64asm
ppc64/ppc64asm
inst.go
inst.go
296:327 (4%)
128:159 (11%)
view
25 x 2 arm/armmap
x86/x86map
map.go
map.go
59:97 (5%)
64:104 (2%)
view
24 x 2 arm64/arm64spec
x86/x86spec
spec.go
parse.go
637:672 (5%)
459:494 (3%)
view
24 x 2 arm/armspec
x86/x86spec
spec.go
parse.go
537:572 (6%)
459:494 (3%)
view
23 x 2 arm/armspec
ppc64/ppc64spec
spec.go
spec.go
118:140 (5%)
113:135 (7%)
view
22 x 2 ppc64/ppc64spec
x86/x86spec
spec.go
parse.go
420:452 (7%)
462:494 (3%)
view
18 x 2 arm64/arm64asm
arm64/arm64asm
decode.go
decode.go
1190:1209 (<1%)
1215:1234 (<1%)
view
18 x 2 arm64/arm64asm
arm64/arm64asm
decode.go
decode.go
1941:1960 (<1%)
1966:1985 (<1%)
view
17 x 2 arm64/arm64asm
arm64/arm64asm
plan9x.go
plan9x.go
138:154 (3%)
193:209 (3%)
view
16 x 2 arm64/arm64asm
arm64/arm64asm
inst.go
inst.go
914:932 (2%)
949:967 (2%)
view
16 x 2 arm64/arm64asm
x86/x86asm
inst.go
inst.go
98:113 (2%)
255:270 (3%)
view
15 x 2 arm64/arm64asm
arm64/arm64asm
decode.go
decode.go
1388:1402 (<1%)
1407:1421 (<1%)
view
15 x 2 arm64/arm64asm
arm64/arm64asm
decode.go
decode.go
2320:2334 (<1%)
2342:2356 (<1%)
view
15 x 2 arm64/arm64asm
arm64/arm64asm
decode.go
decode.go
2391:2405 (<1%)
2413:2427 (<1%)
view
15 x 2 arm64/arm64asm
arm64/arm64asm
decode.go
decode.go
1126:1140 (<1%)
1873:1887 (<1%)
view
Duplicated Units
The list of top 5 duplicated units.
See data for all 5 unit duplicates...
Size#FoldersFilesLinesCode
50 x 2 arm/armspec
arm64/arm64spec
spec.go
spec.go
537:598 
637:698 
view
15 x 2 arm/armasm
ppc64/ppc64asm
inst.go
inst.go
54:69 
20:35 
view
6 x 3 arm/armspec
ppc64/ppc64spec
arm64/arm64spec
spec.go
spec.go
spec.go
525:531 
405:411 
625:631 
view
6 x 4 arm/armspec
ppc64/ppc64spec
arm64/arm64spec
x86/x86spec
spec.go
spec.go
spec.go
parse.go
600:606 
489:495 
700:706 
522:528 
view
6 x 2 arm64/arm64asm
arm64/arm64asm
inst.go
inst.go
586:592 
601:607 
view