anthropics/OpenROAD-flow-scripts
File Size The distribution of size of files (measured in lines of code). |
File Size Overall
- There are 811 files with 162,614 lines of code.
- 30 very long files (56,147 lines of code)
- 61 long files (42,031 lines of code)
- 101 medium size files (33,344 lines of code)
- 122 small files (17,007 lines of code)
- 497 very small files (14,085 lines of code)
Legend:
1001+
501-1000
201-500
101-200
1-100
explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
File Size per Logical Decomposition
primary
Longest Files (Top 50)
| File | # lines | # units |
|---|---|---|
| 5741 | - | |
| 5535 | - | |
| 4295 | - | |
| 3170 | - | |
| 2688 | - | |
| 2128 | - | |
| 2031 | - | |
| 2008 | - | |
| 1715 | - | |
| 1705 | - | |
| 1672 | - | |
| 1646 | - | |
| 1546 | - | |
| 1508 | - | |
| 1439 | - | |
| 1331 | - | |
| 1331 | - | |
| 1314 | - | |
| 1264 | - | |
| 1248 | - | |
| 1155 | - | |
| 1155 | - | |
| 1138 | - | |
| 1114 | - | |
| 1076 | - | |
| 1076 | - | |
| 1074 | - | |
| 1016 | - | |
| 1016 | - | |
| 1012 | - | |
| 995 | - | |
| 946 | - | |
| 939 | - | |
| 926 | - | |
| 903 | - | |
| 899 | - | |
| 889 | - | |
| 888 | - | |
| 887 | - | |
| 883 | - | |
| 873 | - | |
| 867 | - | |
| 841 | - | |
| 841 | - | |
| 812 | - | |
| 811 | - | |
| 750 | - | |
| 749 | - | |
| 745 | - | |
| 730 | - |
Large Files That Change Often (Top 20)
To change a file, an AI coding agent (or a person) has to read it: these files are read the most for the changes in the past year (lines × changes).
| File | # lines | ≈ tokens to read | # changes (1y) | ≈ lines edited per change | lines read per line changed |
|---|---|---|---|---|---|
| 1646 | ~10k–30k | 242 | ~30 | ~50 | |
| 5535 | ~30k–100k | 8 | ~5,000 | ~1 | |
| 547 | ~3k–10k | 36 | ~70 | ~7 | |
| 429 | ~3k–7k | 44 | ~30 | ~10 | |
| 296 | ~2k–5k | 63 | ~50 | ~5 | |
| 267 | ~1.5k–5k | 67 | ~10 | ~20 | |
| 299 | ~2k–5k | 56 | ~10 | ~20 | |
| 502 | ~3k–10k | 29 | ~100 | ~5 | |
| 2688 | ~15k–50k | 5 | ~1,500 | ~2 | |
| 145 | ~1k–3k | 76 | ~10 | ~15 | |
| 2031 | ~10k–30k | 5 | ~1,000 | ~2 | |
| 234 | ~1.5k–5k | 42 | ~10 | ~20 | |
| 151 | ~1k–3k | 56 | ~10 | ~15 | |
| 403 | ~2k–7k | 19 | ~70 | ~5 | |
| 257 | ~1.5k–5k | 18 | ~70 | ~5 | |
| 67 | ~300–1k | 68 | ~10 | ~7 | |
| 811 | ~5k–15k | 5 | ~500 | ~2 | |
| 562 | ~3k–10k | 7 | ~300 | ~2 | |
| 62 | ~300–1k | 59 | ~5 | ~10 | |
| 688 | ~3k–10k | 5 | ~500 | ~2 |
Tokens are lines × 7 to 14 (analysis.fileReadsForChanges). Lines edited per change are the file's lines added and deleted divided by its commits over the whole history. Agents read about 2,000 lines at a time: when a 17,000-line file was split into modules, the tokens an agent read for the same change fell by 83% (The Economic Benefit of Refactoring, 2026).
Files With Most Units (Top 50)
| File | # lines | # units |
|---|---|---|
| 147 | 32 | |
| 119 | 28 | |
| 384 | 22 | |
| 66 | 20 | |
| 56 | 18 | |
| 502 | 14 | |
| 547 | 14 | |
| 141 | 13 | |
| 148 | 13 | |
| 35 | 12 | |
| 315 | 11 | |
| 70 | 11 | |
| 61 | 10 | |
| 193 | 10 | |
| 127 | 10 | |
| 403 | 10 | |
| 147 | 9 | |
| 188 | 8 | |
| 28 | 8 | |
| 296 | 8 | |
| 98 | 8 | |
| 146 | 8 | |
| 94 | 7 | |
| 125 | 7 | |
| 97 | 7 | |
| 128 | 6 | |
| 257 | 6 | |
| 31 | 6 | |
| 45 | 5 | |
| 47 | 5 | |
| 317 | 5 | |
| 136 | 4 | |
| 34 | 4 | |
| 27 | 4 | |
| 353 | 4 | |
| 45 | 4 | |
| 47 | 4 | |
| 89 | 4 | |
| 28 | 4 | |
| 119 | 4 | |
| 50 | 3 | |
| 22 | 3 | |
| 8 | 3 | |
| 17 | 3 | |
| 15 | 3 | |
| 12 | 3 | |
| 23 | 3 | |
| 13 | 3 | |
| 121 | 3 | |
| 36 | 3 |
Files With Long Lines (Top 50)
There are 148 files with lines longer than 120 characters. In total, there are 1223 long lines.
| File | # lines | # units | # long lines |
|---|---|---|---|
| 3170 | - | 110 | |
| 5535 | - | 109 | |
| 5741 | - | 107 | |
| 946 | - | 49 | |
| 67 | - | 45 | |
| 926 | - | 41 | |
| 2688 | - | 29 | |
| 899 | - | 27 | |
| 397 | - | 23 | |
| 1672 | - | 21 | |
| 582 | - | 19 | |
| 1331 | - | 17 | |
| 1331 | - | 17 | |
| 408 | - | 16 | |
| 408 | - | 16 | |
| 365 | - | 15 | |
| 365 | - | 15 | |
| 126 | - | 14 | |
| 425 | - | 14 | |
| 688 | - | 14 | |
| 418 | - | 14 | |
| 467 | - | 14 | |
| 201 | - | 13 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 134 | - | 12 | |
| 1114 | - | 12 | |
| 122 | - | 11 | |
| 527 | - | 11 | |
| 521 | - | 11 | |
| 585 | - | 10 | |
| 176 | - | 9 | |
| 382 | - | 9 | |
| 618 | - | 9 | |
| 176 | - | 9 | |
| 356 | - | 8 | |
| 1508 | - | 8 | |
| 1705 | - | 7 | |
| 226 | - | 7 | |
| 889 | - | 7 | |
| 1155 | - | 6 | |
| 1155 | - | 6 | |
| 107 | - | 5 |
Correlations
File Size vs. Commits (all time): 805 points
|
|
5741.0 | lines of code min: 1.0average: 201.42 25th percentile: 12.0 median: 57.0 75th percentile: 177.5 max: 5741.0 |
|
| 0 | 533.0 | ||
|
commits (all time) min: 2.0 | average: 15.13 | 25th percentile: 4.0 | median: 5.0 | 75th percentile: 9.0 | max: 533.0
|
|||
File Size vs. Contributors (all time): 805 points
|
|
5741.0 | lines of code min: 1.0average: 201.42 25th percentile: 12.0 median: 57.0 75th percentile: 177.5 max: 5741.0 |
|
| 0 | 57.0 | ||
|
contributors (all time) min: 1.0 | average: 6.23 | 25th percentile: 3.0 | median: 5.0 | 75th percentile: 5.0 | max: 57.0
|
|||
File Size vs. Commits (30 days): 0 points
No data for "commits (30d)" vs. "lines of code".
File Size vs. Contributors (30 days): 0 points
No data for "contributors (30d)" vs. "lines of code".
File Size vs. Commits (90 days): 104 points
|
|
1646.0 | lines of code min: 2.0average: 85.11 25th percentile: 16.25 median: 49.5 75th percentile: 87.75 max: 1646.0 |
|
| 0 | 21.0 | ||
|
commits (90d) min: 1.0 | average: 2.92 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 21.0
|
|||
File Size vs. Contributors (90 days): 104 points
|
|
1646.0 | lines of code min: 2.0average: 85.11 25th percentile: 16.25 median: 49.5 75th percentile: 87.75 max: 1646.0 |
|
| 0 | 7.0 | ||
|
contributors (90d) min: 1.0 | average: 1.88 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 3.0 | max: 7.0
|
|||
About This Analysis
- File size measurements show the distribution of size of files.
- Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
- It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
- To learn more about bloaters and how to deal with long code structures, Sokrates recommends the following resources:
- Refactoring bloaters, sourcemaking.com
- The Blob Software Development Anti-Pattern, sourcemaking.com