Duplication Overall
- 9% duplication:
- 15,656 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 1,503 duplicated lines
- 162 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 28 | x 2 | tile_kernels/mhctile_kernels/mhc | 294:321 (7%)353:380 (7%) | view | |
| 19 | x 2 | tile_kernels/mhctile_kernels/mhc | 71:107 (7%)224:244 (7%) | view | |
| 15 | x 2 | tile_kernels/mhctile_kernels/mhc | 76:90 (18%)74:88 (18%) | view | |
| 13 | x 2 | tile_kernels/mhctile_kernels/mhc | 151:165 (3%)385:397 (3%) | view | |
| 13 | x 2 | tile_kernels/mhctile_kernels/mhc | 35:47 (20%)57:69 (20%) | view | |
| 13 | x 2 | tile_kernels/mhctile_kernels/mhc | 13:25 (12%)11:23 (20%) | view | |
| 13 | x 2 | tile_kernels/mhctile_kernels/mhc | 26:38 (3%)13:25 (12%) | view | |
| 13 | x 2 | tile_kernels/mhctile_kernels/mhc | 26:38 (3%)11:23 (20%) | view | |
| 12 | x 2 | tile_kernels/mhctile_kernels/mhc | 199:210 (2%)290:301 (2%) | view | |
| 12 | x 2 | tile_kernels/quanttile_kernels/quant | 68:79 (9%)67:78 (8%) | view | |
| 11 | x 2 | tile_kernels/mhctile_kernels/mhc | 76:86 (10%)95:105 (10%) | view | |
| 11 | x 2 | tile_kernels/mhctile_kernels/mhc | 24:35 (2%)22:33 (6%) | view | |
| 11 | x 2 | tile_kernels/mhctile_kernels/mhc | 199:209 (2%)75:85 (6%) | view | |
| 11 | x 2 | tile_kernels/mhctile_kernels/mhc | 290:300 (2%)75:85 (6%) | view | |
| 10 | x 2 | tile_kernels/mhctile_kernels/mhc | 12:21 (2%)91:100 (2%) | view | |
| 10 | x 2 | tile_kernels/quanttile_kernels/quant | 113:122 (5%)127:136 (5%) | view | |
| 10 | x 2 | tile_kernels/engramtile_kernels/engram | 72:84 (4%)203:215 (4%) | view | |
| 10 | x 2 | tile_kernels/engramtile_kernels/engram | 86:95 (4%)104:113 (4%) | view | |
| 10 | x 2 | tile_kernels/quanttile_kernels/quant | 279:288 (2%)89:98 (4%) | view | |
| 10 | x 2 | tile_kernels/mhctile_kernels/mhc | 199:208 (2%)76:85 (9%) | view | |
| 10 | x 2 | tile_kernels/mhctile_kernels/mhc | 199:208 (2%)95:104 (9%) | view | |
| 10 | x 2 | tile_kernels/mhctile_kernels/mhc | 290:299 (2%)76:85 (9%) | view | |
| 10 | x 2 | tile_kernels/mhctile_kernels/mhc | 290:299 (2%)95:104 (9%) | view | |
| 10 | x 2 | tile_kernels/mhctile_kernels/mhc | 75:84 (5%)76:85 (9%) | view | |
| 10 | x 2 | tile_kernels/mhctile_kernels/mhc | 75:84 (5%)95:104 (9%) | view | |
| 9 | x 2 | tile_kernels/quanttile_kernels/quant | 52:60 (7%)65:73 (7%) | view | |
| 9 | x 2 | tile_kernels/quanttile_kernels/quant | 153:176 (6%)192:216 (6%) | view | |
| 9 | x 2 | tile_kernels/quanttile_kernels/quant | 155:166 (5%)196:206 (5%) | view | |
| 9 | x 2 | tile_kernels/quanttile_kernels/quant | 188:196 (5%)95:103 (7%) | view | |
| 9 | x 2 | tile_kernels/quanttile_kernels/quant | 243:251 (5%)109:117 (7%) | view | |
| 9 | x 2 | tile_kernels/moetile_kernels/moe | 37:45 (6%)35:43 (8%) | view | |
| 8 | x 2 | tile_kernels/engramtile_kernels/engram | 92:99 (3%)231:238 (3%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 28:35 (7%)42:49 (7%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 56:63 (7%)76:83 (7%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 56:63 (7%)95:102 (7%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 99:106 (1%)301:308 (1%) | view | |
| 8 | x 2 | tile_kernels/quanttile_kernels/quant | 15:22 (7%)97:104 (7%) | view | |
| 8 | x 2 | tile_kernels/quanttile_kernels/quant | 10:17 (5%)100:107 (5%) | view | |
| 8 | x 2 | tile_kernels/quanttile_kernels/quant | 145:166 (6%)181:203 (6%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 19:26 (4%)86:93 (4%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 15:24 (2%)72:81 (2%) | view | |
| 8 | x 2 | tile_kernels/engramtile_kernels/engram | 291:298 (2%)322:329 (2%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 11:18 (12%)35:42 (12%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 11:18 (12%)57:64 (12%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 78:85 (7%)90:97 (7%) | view | |
| 8 | x 2 | tile_kernels/quanttile_kernels/quant | 252:259 (2%)82:89 (3%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 68:75 (6%)65:72 (7%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 12:19 (1%)15:22 (7%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 91:98 (1%)15:22 (7%) | view | |
| 8 | x 2 | tile_kernels/mhctile_kernels/mhc | 199:206 (1%)56:63 (7%) | view |
Most Frequent Duplicates
The list of 36 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 6 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 201:206 (1%)58:63 (5%)77:82 (3%)292:297 (1%)78:83 (5%)97:102 (5%) | view | |
| 6 | x 6 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 199:204 (1%)56:61 (5%)75:80 (3%)290:295 (1%)76:81 (5%)95:100 (5%) | view | |
| 6 | x 6 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 12:17 (1%)15:20 (5%)11:16 (3%)91:96 (1%)28:33 (5%)42:47 (5%) | view | |
| 6 | x 6 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 200:205 (1%)57:62 (5%)76:81 (3%)291:296 (1%)77:82 (5%)96:101 (5%) | view | |
| 6 | x 5 | tile_kernels/engramtile_kernels/quanttile_kernels/engramtile_kernels/engramtile_kernels/engram | 7:12 (3%)19:24 (2%)62:67 (2%)7:12 (11%)144:149 (2%) | view | |
| 6 | x 5 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 28:33 (1%)15:20 (5%)13:18 (9%)37:42 (9%)59:64 (9%) | view | |
| 6 | x 5 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 202:207 (1%)79:84 (5%)78:83 (3%)293:298 (1%)98:103 (5%) | view | |
| 6 | x 5 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 27:32 (1%)14:19 (5%)12:17 (9%)36:41 (9%)58:63 (9%) | view | |
| 6 | x 5 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 40:45 (7%)66:71 (6%)44:49 (7%)83:88 (6%)97:102 (6%) | view | |
| 6 | x 5 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 26:31 (1%)13:18 (5%)11:16 (9%)35:40 (9%)57:62 (9%) | view | |
| 6 | x 5 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 41:46 (7%)67:72 (6%)45:50 (7%)84:89 (6%)98:103 (6%) | view | |
| 6 | x 5 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 203:208 (1%)80:85 (5%)79:84 (3%)294:299 (1%)99:104 (5%) | view | |
| 6 | x 4 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 13:18 (1%)16:21 (5%)12:17 (3%)92:97 (1%) | view | |
| 6 | x 4 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 16:21 (4%)14:19 (5%)76:81 (7%)89:94 (7%) | view | |
| 6 | x 4 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 14:19 (1%)17:22 (5%)13:18 (3%)93:98 (1%) | view | |
| 6 | x 4 | tile_kernels/mhctile_kernels/mhctile_kernels/mhctile_kernels/mhc | 4:11 (5%)4:11 (6%)4:11 (4%)4:11 (5%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 19:24 (4%)16:21 (6%)62:67 (6%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 116:121 (4%)103:108 (5%)302:307 (1%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 32:37 (1%)19:24 (5%)17:22 (9%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 68:73 (4%)65:70 (5%)159:164 (1%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 30:35 (1%)17:22 (5%)15:20 (9%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 29:34 (1%)16:21 (5%)14:19 (9%) | view | |
| 6 | x 3 | tile_kernels/quanttile_kernels/quanttile_kernels/quant | 125:130 (4%)160:165 (4%)197:202 (4%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 31:36 (1%)18:23 (5%)16:21 (9%) | view | |
| 6 | x 3 | tile_kernels/quanttile_kernels/quanttile_kernels/quant | 191:196 (3%)16:21 (5%)98:103 (5%) | view | |
| 6 | x 3 | tile_kernels/quanttile_kernels/quanttile_kernels/quant | 7:12 (8%)10:15 (10%)9:14 (9%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 204:209 (1%)80:85 (3%)295:300 (1%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 20:25 (4%)17:22 (6%)63:68 (6%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 117:122 (4%)104:109 (5%)303:308 (1%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 69:74 (4%)66:71 (5%)160:165 (1%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 175:180 (1%)151:156 (1%)385:390 (1%) | view | |
| 6 | x 3 | tile_kernels/quanttile_kernels/quanttile_kernels/quant | 11:16 (4%)102:107 (4%)138:143 (4%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 70:75 (4%)67:72 (5%)161:166 (1%) | view | |
| 6 | x 3 | tile_kernels/mhctile_kernels/mhctile_kernels/mhc | 33:38 (1%)20:25 (5%)18:23 (9%) | view | |
| 6 | x 3 | tile_kernels/quanttile_kernels/quanttile_kernels/quant | 190:195 (3%)15:20 (5%)97:102 (5%) | view | |
| 6 | x 3 | tile_kernels/quanttile_kernels/quanttile_kernels/quant | 126:131 (4%)161:166 (4%)198:203 (4%) | view |
Duplicated Units
The list of top 2 duplicated units.
About This Analysis
- 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...
- To learn more about duplications and techniques for eliminating duplication, Sokrates recommends the following resources:
- Avoid Repetition, MartinFlower.com (IEEE Software article)
- Refactoring duplicated code, sourcemaking.com
- Beck Design Rules, MartinFowler.com
- DRY (Don't Repeat Yourself) Principle, Wikipedia
- The Cut-and-Paste Programming Software Development Anti-Pattern, sourcemaking.com
- Code Smells / Duplicated Code, Jeff Atwood, codinghorror.com:
- "Duplicated code is the bane of software development. Stamp out duplication whenever possible. You should always be on the lookout for more subtle cases of near-duplication, too. Don't Repeat Yourself!"
- Reducing Coupling, MartinFlower.com (IEEE Software article):
- "There are several ways to describe coupling, but it boils down to this: If changing one module in a program requires changing another module, then coupling exists. ... Duplication always implies coupling, because changing one piece of duplicate code implies changing the other."