Commit 610fb2c
committed
Two-phase approach speeds up cold-cache generate
Phase 1 - Discovery (WalkParallel)
- Only collect file paths - no I/O
- Create placeholder ProjectFile with owner: None
- WalkParallel threads stay fast and unblocked
Phase 2 - Processing (Rayon)
- After all files discovered, process them in parallel with rayon
- Call project_file_builder.build() to read files and check cache
- Rayon's work-stealing thread pool is optimized for I/O-heavy tasks
- No contention with file discovery1 parent c3cace6 commit 610fb2c
1 file changed
+17
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
174 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
175 | 178 | | |
176 | 179 | | |
177 | 180 | | |
| |||
273 | 276 | | |
274 | 277 | | |
275 | 278 | | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
276 | 291 | | |
277 | 292 | | |
278 | 293 | | |
| |||
0 commit comments