Duplication Overall
- 23% duplication:
- 10,901 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 2,544 duplicated lines
- 210 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 79 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/dspark/qwen3 | 350:431 (14%)292:373 (16%) | view | |
| 71 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/dspark/qwen3 | 506:578 (12%)434:506 (14%) | view | |
| 68 | x 2 | deepspec/modeling/eagle3/gemma4deepspec/modeling/eagle3/qwen3 | 345:415 (15%)271:341 (18%) | view | |
| 45 | x 2 | config/dsparkconfig/dspark | 12:68 (90%)12:68 (90%) | view | |
| 43 | x 2 | config/dflashconfig/dflash | 12:66 (89%)12:66 (89%) | view | |
| 41 | x 2 | config/dflashconfig/dspark | 29:74 (73%)31:76 (70%) | view | |
| 41 | x 2 | config/dflashconfig/dspark | 29:74 (73%)31:76 (70%) | view | |
| 38 | x 2 | config/dflashconfig/eagle3 | 33:74 (67%)20:61 (76%) | view | |
| 38 | x 2 | config/dsparkconfig/eagle3 | 35:76 (65%)20:61 (76%) | view | |
| 37 | x 2 | config/eagle3config/eagle3 | 12:54 (88%)13:55 (88%) | view | |
| 36 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/dspark/qwen3 | 298:339 (6%)246:289 (7%) | view | |
| 35 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/dspark/qwen3 | 437:473 (6%)375:411 (7%) | view | |
| 35 | x 2 | deepspec/modeling/eagle3/gemma4deepspec/modeling/eagle3/qwen3 | 419:455 (7%)344:380 (9%) | view | |
| 34 | x 2 | config/dflashconfig/dflash | 16:60 (60%)15:59 (70%) | view | |
| 34 | x 2 | config/dflashconfig/dflash | 16:60 (60%)15:59 (70%) | view | |
| 33 | x 2 | config/dflashconfig/dspark | 28:66 (68%)30:68 (66%) | view | |
| 33 | x 2 | config/dflashconfig/dspark | 28:66 (68%)30:68 (66%) | view | |
| 33 | x 2 | config/dflashconfig/dspark | 28:66 (68%)30:68 (66%) | view | |
| 33 | x 2 | config/dflashconfig/dspark | 28:66 (68%)30:68 (66%) | view | |
| 32 | x 2 | config/dsparkconfig/dspark | 24:62 (55%)23:61 (64%) | view | |
| 32 | x 2 | config/dsparkconfig/dspark | 24:62 (55%)23:61 (64%) | view | |
| 31 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/eagle3/gemma4 | 17:49 (34%)17:49 (39%) | view | |
| 30 | x 2 | config/eagle3config/eagle3 | 14:48 (60%)13:47 (71%) | view | |
| 30 | x 2 | config/eagle3config/eagle3 | 14:48 (60%)14:48 (71%) | view | |
| 28 | x 2 | deepspec/trainerdeepspec/trainer | 251:284 (8%)19:54 (52%) | view | |
| 27 | x 2 | config/dflashconfig/dspark | 28:59 (56%)31:62 (46%) | view | |
| 27 | x 2 | config/dflashconfig/dspark | 28:59 (56%)31:62 (46%) | view | |
| 27 | x 2 | config/dflashconfig/eagle3 | 44:74 (48%)32:62 (54%) | view | |
| 27 | x 2 | config/dsparkconfig/eagle3 | 46:76 (46%)32:62 (54%) | view | |
| 27 | x 2 | config/dflashconfig/dspark | 29:60 (48%)30:61 (54%) | view | |
| 27 | x 2 | config/dflashconfig/dspark | 29:60 (48%)30:61 (54%) | view | |
| 22 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/eagle3/gemma4 | 67:90 (3%)78:101 (4%) | view | |
| 21 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/dspark/qwen3 | 57:80 (23%)14:35 (42%) | view | |
| 20 | x 2 | deepspec/modeling/eagle3/gemma4deepspec/modeling/eagle3/qwen3 | 304:326 (4%)242:264 (5%) | view | |
| 20 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/dspark/qwen3 | 85:106 (22%)39:60 (40%) | view | |
| 19 | x 2 | config/dsparkconfig/eagle3 | 56:76 (32%)42:62 (38%) | view | |
| 19 | x 2 | config/dsparkconfig/eagle3 | 45:68 (38%)31:54 (45%) | view | |
| 19 | x 2 | config/eagle3config/eagle3 | 41:61 (38%)42:62 (38%) | view | |
| 19 | x 2 | config/dflashconfig/eagle3 | 54:74 (33%)42:62 (38%) | view | |
| 19 | x 2 | config/dsparkconfig/eagle3 | 45:68 (38%)32:55 (45%) | view | |
| 19 | x 2 | config/dsparkconfig/eagle3 | 45:68 (38%)32:55 (45%) | view | |
| 19 | x 2 | config/dsparkconfig/eagle3 | 45:68 (38%)31:54 (45%) | view | |
| 19 | x 2 | config/dflashconfig/dspark | 54:74 (33%)56:76 (32%) | view | |
| 19 | x 2 | config/dflashconfig/dflash | 54:74 (33%)54:74 (33%) | view | |
| 19 | x 2 | config/dflashconfig/eagle3 | 54:74 (33%)41:61 (38%) | view | |
| 19 | x 2 | config/dsparkconfig/eagle3 | 56:76 (32%)41:61 (38%) | view | |
| 19 | x 2 | config/dflashconfig/dspark | 54:74 (33%)56:76 (32%) | view | |
| 19 | x 2 | config/dsparkconfig/dspark | 56:76 (32%)56:76 (32%) | view | |
| 19 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/eagle3/gemma4 | 183:202 (3%)203:222 (4%) | view | |
| 19 | x 2 | config/dflashconfig/eagle3 | 43:66 (39%)32:55 (45%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 12 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dspark... | 44:51 (10%)43:50 (12%)45:52 (12%)32:39 (12%)31:38 (14%)44:51 (10%)43:50 (12%)46:53 (10%)46:53 (10%)45:52 (12%)... | view | |
| 6 | x 12 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dspark... | 46:52 (10%)45:51 (12%)47:53 (12%)34:40 (12%)33:39 (14%)46:52 (10%)45:51 (12%)48:54 (10%)48:54 (10%)47:53 (12%)... | view | |
| 6 | x 12 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/dflashconfig/dspark... | 34:39 (10%)33:38 (12%)35:40 (12%)22:27 (12%)21:26 (14%)36:41 (10%)36:41 (10%)34:39 (10%)33:38 (12%)35:40 (12%)... | view | |
| 6 | x 12 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/dflashconfig/dspark... | 33:38 (10%)32:37 (12%)34:39 (12%)21:26 (12%)20:25 (14%)35:40 (10%)35:40 (10%)33:38 (10%)32:37 (12%)34:39 (12%)... | view | |
| 6 | x 12 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/dflashconfig/dspark... | 37:42 (10%)36:41 (12%)38:43 (12%)25:30 (12%)24:29 (14%)39:44 (10%)39:44 (10%)37:42 (10%)36:41 (12%)38:43 (12%)... | view | |
| 6 | x 12 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/dflashconfig/dspark... | 36:41 (10%)35:40 (12%)37:42 (12%)24:29 (12%)23:28 (14%)38:43 (10%)38:43 (10%)36:41 (10%)35:40 (12%)37:42 (12%)... | view | |
| 6 | x 12 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/dflashconfig/dspark... | 35:40 (10%)34:39 (12%)36:41 (12%)23:28 (12%)22:27 (14%)37:42 (10%)37:42 (10%)35:40 (10%)34:39 (12%)36:41 (12%)... | view | |
| 6 | x 9 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/eagle3 | 49:55 (10%)48:54 (12%)50:56 (12%)37:43 (12%)36:42 (14%)51:57 (10%)50:56 (12%)48:54 (12%)37:43 (14%) | view | |
| 6 | x 9 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/eagle3 | 51:56 (10%)50:55 (12%)52:57 (12%)39:44 (12%)38:43 (14%)53:58 (10%)52:57 (12%)50:55 (12%)39:44 (14%) | view | |
| 6 | x 9 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/eagle3 | 48:54 (10%)47:53 (12%)49:55 (12%)36:42 (12%)35:41 (14%)50:56 (10%)49:55 (12%)47:53 (12%)36:42 (14%) | view | |
| 6 | x 9 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/eagle3 | 52:59 (10%)51:58 (12%)53:60 (12%)40:47 (12%)39:46 (14%)54:61 (10%)53:60 (12%)51:58 (12%)40:47 (14%) | view | |
| 6 | x 9 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/eagle3 | 53:60 (10%)52:59 (12%)54:61 (12%)41:48 (12%)40:47 (14%)55:62 (10%)54:61 (12%)52:59 (12%)41:48 (14%) | view | |
| 6 | x 9 | config/dflashconfig/dflashconfig/dsparkconfig/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/eagle3 | 47:53 (10%)46:52 (12%)48:54 (12%)35:41 (12%)34:40 (14%)49:55 (10%)48:54 (12%)46:52 (12%)35:41 (14%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 68:73 (10%)70:75 (10%)70:75 (10%)56:61 (12%)68:73 (10%)55:60 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 29:35 (10%)28:34 (12%)31:37 (10%)30:36 (12%)30:36 (12%)28:34 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 40:46 (10%)39:45 (12%)42:48 (10%)41:47 (12%)41:47 (12%)39:45 (12%) | view | |
| 6 | x 6 | config/dflashconfig/eagle3config/dsparkconfig/dsparkconfig/eagle3config/dflash | 58:63 (12%)46:51 (14%)60:65 (12%)60:65 (12%)47:52 (14%)58:63 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 59:64 (10%)61:66 (10%)61:66 (10%)47:52 (12%)59:64 (10%)46:51 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 61:66 (10%)63:68 (10%)63:68 (10%)49:54 (12%)61:66 (10%)48:53 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 62:67 (10%)64:69 (10%)64:69 (10%)50:55 (12%)62:67 (10%)49:54 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 32:37 (10%)31:36 (12%)34:39 (10%)33:38 (12%)33:38 (12%)31:36 (12%) | view | |
| 6 | x 6 | config/dflashconfig/eagle3config/dsparkconfig/dsparkconfig/eagle3config/dflash | 59:64 (12%)47:52 (14%)61:66 (12%)61:66 (12%)48:53 (14%)59:64 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 42:48 (10%)41:47 (12%)44:50 (10%)43:49 (12%)43:49 (12%)41:47 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 66:71 (10%)68:73 (10%)68:73 (10%)54:59 (12%)66:71 (10%)53:58 (12%) | view | |
| 6 | x 6 | config/dflashconfig/eagle3config/dsparkconfig/dsparkconfig/eagle3config/dflash | 54:61 (12%)42:49 (14%)56:63 (12%)56:63 (12%)43:50 (14%)54:61 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 43:49 (10%)42:48 (12%)45:51 (10%)44:50 (12%)44:50 (12%)42:48 (12%) | view | |
| 6 | x 6 | config/dflashconfig/eagle3config/dsparkconfig/dsparkconfig/eagle3config/dflash | 60:66 (12%)48:54 (14%)62:68 (12%)62:68 (12%)49:55 (14%)60:66 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 63:68 (10%)65:70 (10%)65:70 (10%)51:56 (12%)63:68 (10%)50:55 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 65:70 (10%)67:72 (10%)67:72 (10%)53:58 (12%)65:70 (10%)52:57 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 31:36 (10%)30:35 (12%)33:38 (10%)32:37 (12%)32:37 (12%)30:35 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 38:43 (10%)37:42 (12%)40:45 (10%)39:44 (12%)39:44 (12%)37:42 (12%) | view | |
| 6 | x 6 | config/dsparkconfig/eagle3config/dflashconfig/dsparkconfig/dflashconfig/eagle3 | 56:63 (10%)42:49 (12%)54:61 (10%)56:63 (10%)54:61 (10%)41:48 (12%) | view | |
| 6 | x 6 | config/dsparkconfig/eagle3config/dflashconfig/dsparkconfig/dflashconfig/eagle3 | 58:65 (10%)44:51 (12%)56:63 (10%)58:65 (10%)56:63 (10%)43:50 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 39:44 (10%)38:43 (12%)41:46 (10%)40:45 (12%)40:45 (12%)38:43 (12%) | view | |
| 6 | x 6 | config/dflashconfig/eagle3config/dsparkconfig/dsparkconfig/eagle3config/dflash | 53:60 (12%)41:48 (14%)55:62 (12%)55:62 (12%)42:49 (14%)53:60 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 67:72 (10%)69:74 (10%)69:74 (10%)55:60 (12%)67:72 (10%)54:59 (12%) | view | |
| 6 | x 6 | config/dflashconfig/eagle3config/dsparkconfig/dsparkconfig/eagle3config/dflash | 55:62 (12%)43:50 (14%)57:64 (12%)57:64 (12%)44:51 (14%)55:62 (12%) | view | |
| 6 | x 6 | config/eagle3config/eagle3config/dsparkconfig/eagle3config/eagle3config/dflash | 26:31 (12%)25:30 (14%)40:45 (10%)26:31 (14%)25:30 (12%)38:43 (10%) | view | |
| 6 | x 6 | config/dsparkconfig/eagle3config/dflashconfig/dsparkconfig/dflashconfig/eagle3 | 57:64 (10%)43:50 (12%)55:62 (10%)57:64 (10%)55:62 (10%)42:49 (12%) | view | |
| 6 | x 6 | config/eagle3config/eagle3config/dsparkconfig/eagle3config/eagle3config/dflash | 30:36 (12%)29:35 (14%)44:50 (10%)30:36 (14%)29:35 (12%)42:48 (10%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 64:69 (10%)66:71 (10%)66:71 (10%)52:57 (12%)64:69 (10%)51:56 (12%) | view | |
| 6 | x 6 | config/eagle3config/eagle3config/dsparkconfig/eagle3config/eagle3config/dflash | 27:32 (12%)26:31 (14%)41:46 (10%)27:32 (14%)26:31 (12%)39:44 (10%) | view | |
| 6 | x 6 | config/eagle3config/eagle3config/dsparkconfig/eagle3config/eagle3config/dflash | 29:35 (12%)28:34 (14%)43:49 (10%)29:35 (14%)28:34 (12%)41:47 (10%) | view | |
| 6 | x 6 | config/eagle3config/eagle3config/dsparkconfig/eagle3config/eagle3config/dflash | 28:34 (12%)27:33 (14%)42:48 (10%)28:34 (14%)27:33 (12%)40:46 (10%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 60:65 (10%)62:67 (10%)62:67 (10%)48:53 (12%)60:65 (10%)47:52 (12%) | view | |
| 6 | x 6 | config/dflashconfig/dflashconfig/dsparkconfig/dsparkconfig/dsparkconfig/dflash | 41:47 (10%)40:46 (12%)43:49 (10%)42:48 (12%)42:48 (12%)40:46 (12%) | view | |
| 6 | x 6 | config/eagle3config/eagle3config/dsparkconfig/eagle3config/eagle3config/dflash | 31:37 (12%)30:36 (14%)45:51 (10%)31:37 (14%)30:36 (12%)43:49 (10%) | view | |
| 6 | x 6 | config/dflashconfig/dsparkconfig/dsparkconfig/eagle3config/dflashconfig/eagle3 | 69:74 (10%)71:76 (10%)71:76 (10%)57:62 (12%)69:74 (10%)56:61 (12%) | view | |
| 6 | x 4 | deepspec/modeling/dspark/qwen3deepspec/modeling/eagle3/gemma4deepspec/modeling/eagle3/qwen3deepspec/modeling/dspark/gemma4 | 268:274 (1%)305:311 (1%)243:249 (1%)318:324 (1%) | view | |
| 6 | x 4 | config/dsparkconfig/dsparkconfig/dsparkconfig/dspark | 24:32 (12%)24:32 (12%)25:33 (10%)25:33 (10%) | view |
Duplicated Units
The list of top 6 duplicated units.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 26 | x 2 | deepspec/modeling/eagle3/gemma4deepspec/modeling/dspark/gemma4 | 22:49 22:49 | view | |
| 14 | x 6 | config/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/dflash | 47:62 46:61 61:76 61:76 59:74 59:74 | view | |
| 12 | x 2 | deepspec/modeling/eagle3/gemma4deepspec/modeling/eagle3/qwen3 | 398:411 324:337 | view | |
| 8 | x 2 | deepspec/modeling/dspark/gemma4deepspec/modeling/dspark/qwen3 | 419:428 361:370 | view | |
| 6 | x 2 | deepspec/eval/eagle3deepspec/eval/dspark | 98:105 99:106 | view | |
| 6 | x 6 | config/eagle3config/eagle3config/dsparkconfig/dsparkconfig/dflashconfig/dflash | 47:55 46:54 60:68 60:68 58:66 58:66 | view |
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."