guardian/support-service-lambdas
File Size The distribution of size of files (measured in lines of code). |
File Size Overall
- There are 1,322 files with 94,364 lines of code.
- 3 very long files (12,468 lines of code)
- 8 long files (5,250 lines of code)
- 61 medium size files (16,274 lines of code)
- 158 small files (22,357 lines of code)
- 1,092 very small files (38,015 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 |
|---|---|---|
| 8614 | 1 | |
| 2519 | - | |
| 1335 | 4 | |
| 994 | - | |
| 858 | - | |
| 636 | - | |
| 592 | - | |
| 590 | 1 | |
| 552 | 14 | |
| 524 | 3 | |
| 504 | 1 | |
| 498 | - | |
| 453 | 1 | |
| 417 | 1 | |
| 406 | - | |
| 395 | 1 | |
| 394 | 10 | |
| 374 | - | |
| 374 | 8 | |
| 356 | 10 | |
| 352 | 1 | |
| 346 | - | |
| 327 | - | |
| 321 | 1 | |
| 312 | 15 | |
| 311 | 1 | |
| 293 | 8 | |
| 289 | 11 | |
| 287 | 8 | |
| 284 | 1 | |
| 281 | 7 | |
| 278 | 4 | |
| 278 | 12 | |
| 259 | 1 | |
| 251 | 6 | |
| 250 | 3 | |
| 244 | 1 | |
| 241 | 7 | |
| 240 | - | |
| 239 | - | |
| 238 | 14 | |
| 234 | - | |
| 234 | 3 | |
| 231 | 6 | |
| 231 | 9 | |
| 226 | 10 | |
| 224 | 14 | |
| 223 | 13 | |
| 222 | 10 | |
| 222 | 7 |
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 |
|---|---|---|---|---|---|
| 994 | ~5k–15k | 57 | ~30 | ~30 | |
| 2519 | ~15k–50k | 11 | ~300 | ~10 | |
| 858 | ~5k–15k | 12 | ~70 | ~10 | |
| 8614 | ~50k–150k | 1 | ~5,000 | ~2 | |
| 119 | ~700–2k | 71 | ~5 | ~20 | |
| 287 | ~2k–5k | 15 | ~30 | ~10 | |
| 226 | ~1.5k–5k | 19 | ~20 | ~10 | |
| 636 | ~3k–10k | 6 | ~20 | ~30 | |
| 238 | ~1.5k–5k | 13 | ~20 | ~10 | |
| 151 | ~1k–3k | 19 | ~7 | ~20 | |
| 394 | ~2k–7k | 7 | ~70 | ~5 | |
| 214 | ~1k–3k | 11 | ~30 | ~7 | |
| 293 | ~2k–5k | 8 | ~70 | ~5 | |
| 222 | ~1.5k–5k | 10 | ~30 | ~7 | |
| 163 | ~1k–3k | 13 | ~15 | ~10 | |
| 524 | ~3k–10k | 4 | ~300 | ~2 | |
| 417 | ~2k–7k | 5 | ~70 | ~5 | |
| 170 | ~1k–3k | 12 | ~30 | ~5 | |
| 111 | ~700–2k | 17 | ~15 | ~7 | |
| 162 | ~1k–3k | 11 | ~30 | ~7 |
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 |
|---|---|---|
| 199 | 19 | |
| 312 | 15 | |
| 238 | 14 | |
| 224 | 14 | |
| 552 | 14 | |
| 143 | 13 | |
| 191 | 13 | |
| 223 | 13 | |
| 217 | 13 | |
| 278 | 12 | |
| 140 | 12 | |
| 163 | 11 | |
| 133 | 11 | |
| 289 | 11 | |
| 356 | 10 | |
| 169 | 10 | |
| 113 | 10 | |
| 222 | 10 | |
| 102 | 10 | |
| 158 | 10 | |
| 226 | 10 | |
| 394 | 10 | |
| 173 | 9 | |
| 190 | 9 | |
| 177 | 9 | |
| 157 | 9 | |
| 231 | 9 | |
| 189 | 9 | |
| 178 | 9 | |
| 59 | 8 | |
| 116 | 8 | |
| 109 | 8 | |
| 293 | 8 | |
| 287 | 8 | |
| 60 | 8 | |
| 196 | 8 | |
| 154 | 8 | |
| 374 | 8 | |
| 188 | 8 | |
| 77 | 8 | |
| 135 | 8 | |
| 166 | 8 | |
| 166 | 8 | |
| 72 | 7 | |
| 281 | 7 | |
| 83 | 7 | |
| 160 | 7 | |
| 200 | 7 | |
| 188 | 7 | |
| 47 | 7 |
Files With Long Lines (Top 50)
There are 173 files with lines longer than 120 characters. In total, there are 405 long lines.
| File | # lines | # units | # long lines |
|---|---|---|---|
| 203 | 1 | 12 | |
| 406 | - | 12 | |
| 504 | 1 | 11 | |
| 498 | - | 10 | |
| 278 | 12 | 10 | |
| 636 | - | 9 | |
| 592 | - | 9 | |
| 395 | 1 | 7 | |
| 994 | - | 7 | |
| 207 | - | 7 | |
| 352 | 1 | 6 | |
| 213 | - | 6 | |
| 157 | - | 6 | |
| 217 | 13 | 6 | |
| 327 | - | 6 | |
| 118 | 1 | 5 | |
| 74 | 1 | 5 | |
| 219 | 4 | 5 | |
| 311 | 1 | 5 | |
| 122 | 1 | 5 | |
| 231 | 6 | 5 | |
| 210 | - | 5 | |
| 158 | - | 5 | |
| 174 | - | 5 | |
| 240 | - | 5 | |
| 104 | 1 | 4 | |
| 94 | 1 | 4 | |
| 119 | 1 | 4 | |
| 284 | 1 | 4 | |
| 132 | - | 4 | |
| 117 | - | 4 | |
| 211 | 3 | 4 | |
| 135 | - | 4 | |
| 214 | - | 4 | |
| 453 | 1 | 3 | |
| 92 | 1 | 3 | |
| 173 | 1 | 3 | |
| 259 | 1 | 3 | |
| 244 | 1 | 3 | |
| 278 | 4 | 3 | |
| 154 | 8 | 3 | |
| 181 | 3 | 3 | |
| 206 | - | 3 | |
| 91 | 2 | 3 | |
| 68 | - | 3 | |
| 102 | - | 3 | |
| 207 | - | 3 | |
| 67 | 1 | 2 | |
| 163 | 11 | 2 | |
| 73 | 1 | 2 |
Correlations
File Size vs. Commits (all time): 1322 points
|
|
8614.0 | lines of code min: 1.0average: 71.38 25th percentile: 17.0 median: 37.0 75th percentile: 75.0 max: 8614.0 |
|
| 0 | 908.0 | ||
|
commits (all time) min: 1.0 | average: 18.19 | 25th percentile: 3.0 | median: 9.0 | 75th percentile: 21.25 | max: 908.0
|
|||
File Size vs. Contributors (all time): 1322 points
|
|
8614.0 | lines of code min: 1.0average: 71.38 25th percentile: 17.0 median: 37.0 75th percentile: 75.0 max: 8614.0 |
|
| 0 | 38.0 | ||
|
contributors (all time) min: 1.0 | average: 4.62 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 7.0 | max: 38.0
|
|||
File Size vs. Commits (30 days): 165 points
|
|
2519.0 | lines of code min: 1.0average: 118.05 25th percentile: 24.5 median: 62.0 75th percentile: 155.0 max: 2519.0 |
|
| 0 | 9.0 | ||
|
commits (30d) min: 1.0 | average: 1.4 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 9.0
|
|||
File Size vs. Contributors (30 days): 165 points
|
|
2519.0 | lines of code min: 1.0average: 118.05 25th percentile: 24.5 median: 62.0 75th percentile: 155.0 max: 2519.0 |
|
| 0 | 5.0 | ||
|
contributors (30d) min: 1.0 | average: 1.14 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 5.0
|
|||
File Size vs. Commits (90 days): 304 points
|
|
2519.0 | lines of code min: 1.0average: 100.08 25th percentile: 24.0 median: 59.0 75th percentile: 119.0 max: 2519.0 |
|
| 0 | 15.0 | ||
|
commits (90d) min: 1.0 | average: 1.69 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 15.0
|
|||
File Size vs. Contributors (90 days): 304 points
|
|
2519.0 | lines of code min: 1.0average: 100.08 25th percentile: 24.0 median: 59.0 75th percentile: 119.0 max: 2519.0 |
|
| 0 | 5.0 | ||
|
contributors (90d) min: 1.0 | average: 1.22 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 5.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