Commit fbc5e1a
perf(builder): default --extract-workers 8→64; size boto3 pool to match
Catalog extraction is latency-bound: each file is 1-2 sequential S3 range
GETs (~190ms each over WAN), so throughput = concurrency / per-file latency.
At the old default of 8 workers a full cold scan runs ~20 files/s (measured
on a ~24.5k-file partition: ~20 min).
Raise the default to 64. The companion fix is essential: boto3's default
connection pool is 10, so >10 workers would contend and retry (pool-full →
slower). Build the S3 client with Config(max_pool_connections=max(workers,10))
so the pool tracks the worker count. botocore is imported defensively so the
s3 path stays exercisable with a bare fake boto3 (no botocore) in tests.
Docs + test updated: README flag table, --help text, and test_parser_defaults
(asserts 64; fake boto3.client stub now accepts the config= kwarg).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent ec4a7a8 commit fbc5e1a
3 files changed
Lines changed: 29 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
82 | | - | |
| 82 | + | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
87 | | - | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
| |||
165 | 168 | | |
166 | 169 | | |
167 | 170 | | |
168 | | - | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
169 | 189 | | |
170 | 190 | | |
171 | 191 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
129 | 130 | | |
130 | 131 | | |
131 | 132 | | |
132 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
133 | 136 | | |
134 | 137 | | |
135 | 138 | | |
| |||
0 commit comments