apple / swift-collections-benchmark
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
  • 3% duplication:
    • 5,378 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 165 duplicated lines
  • 14 duplicates
system3% (165 lines)
Duplication per Extension
swift3% (165 lines)
Duplication per Component (primary)
Sources/CollectionsBenchmark/Charts/Renderers13% (97 lines)
Sources/CollectionsBenchmark/Utilities6% (36 lines)
Sources/CollectionsBenchmark/BenchmarkCLI1% (12 lines)
Sources/CollectionsBenchmark/Benchmark1% (12 lines)
Sources/CollectionsBenchmark/Charts/Graphics1% (8 lines)
ROOT0% (0 lines)
Sources/CollectionsBenchmark/Basics0% (0 lines)
Sources/CollectionsBenchmark/Charts0% (0 lines)
Sources/CollectionsBenchmark/Charts/Geometry0% (0 lines)
Sources/CollectionsBenchmark/Compatibility0% (0 lines)
Longest Duplicates
The list of 14 longest duplicates.
See data for all 14 duplicates...
Size#FoldersFilesLinesCode
10 x 2 Sources/CollectionsBenchmark/Charts/Renderers
Sources/CollectionsBenchmark/Charts/Renderers
CocoaRenderer.swift
UIKitRenderer.swift
198:208 (5%)
157:168 (6%)
view
8 x 2 Sources/CollectionsBenchmark/Charts/Renderers
Sources/CollectionsBenchmark/Charts/Renderers
CocoaRenderer.swift
UIKitRenderer.swift
178:194 (4%)
137:153 (5%)
view
8 x 2 Sources/CollectionsBenchmark/Charts/Graphics
Sources/CollectionsBenchmark/Charts/Renderers
Graphics+SVG.swift
HTMLDocumentRenderer.swift
81:88 (5%)
69:76 (6%)
view
7 x 2 Sources/CollectionsBenchmark/Charts/Renderers
Sources/CollectionsBenchmark/Charts/Renderers
CocoaRenderer.swift
UIKitRenderer.swift
256:262 (3%)
224:230 (4%)
view
7 x 2 Sources/CollectionsBenchmark/Charts/Renderers
Sources/CollectionsBenchmark/Charts/Renderers
CocoaRenderer.swift
UIKitRenderer.swift
54:60 (3%)
32:38 (4%)
view
6 x 2 Sources/CollectionsBenchmark/Benchmark
Sources/CollectionsBenchmark/Benchmark
Benchmark+Options.swift
Benchmark+Options.swift
99:105 (5%)
199:205 (5%)
view
6 x 2 Sources/CollectionsBenchmark/Charts/Renderers
Sources/CollectionsBenchmark/Charts/Renderers
CocoaRenderer.swift
DefaultRenderer.swift
240:245 (3%)
59:64 (10%)
view
6 x 2 Sources/CollectionsBenchmark/BenchmarkCLI
Sources/CollectionsBenchmark/BenchmarkCLI
BenchmarkCLI+Library+Render.swift
BenchmarkCLI+Results+Compare.swift
43:51 (5%)
57:65 (2%)
view
6 x 2 Sources/CollectionsBenchmark/Charts/Renderers
Sources/CollectionsBenchmark/Charts/Renderers
CocoaRenderer.swift
UIKitRenderer.swift
238:244 (3%)
205:211 (3%)
view
6 x 2 Sources/CollectionsBenchmark/Utilities
Sources/CollectionsBenchmark/Utilities
BinarySearch.swift
BinarySearch.swift
40:45 (10%)
85:90 (10%)
view
6 x 2 Sources/CollectionsBenchmark/Charts/Renderers
Sources/CollectionsBenchmark/Charts/Renderers
DefaultRenderer.swift
UIKitRenderer.swift
80:85 (10%)
224:229 (3%)
view
6 x 2 Sources/CollectionsBenchmark/Utilities
Sources/CollectionsBenchmark/Utilities
_SimpleOrderedDictionary.swift
_SimpleSortedDictionary.swift
157:166 (6%)
197:206 (4%)
view
6 x 2 Sources/CollectionsBenchmark/Utilities
Sources/CollectionsBenchmark/Utilities
BinarySearch.swift
BinarySearch.swift
19:24 (10%)
64:69 (10%)
view
6 x 2 Sources/CollectionsBenchmark/Charts/Renderers
Sources/CollectionsBenchmark/Charts/Renderers
CocoaRenderer.swift
DefaultRenderer.swift
256:261 (3%)
80:85 (10%)
view