Commit b0ac558
perf: lazy import PIL in nes.py and jpeg.py
Move PIL imports from module-level to function-level, so PIL is only
loaded when actually parsing NES ROMs (nes.py) or JPEG2000 images
(jpeg.py). Most files analyzed by PolyFile don't require PIL.
Performance improvement:
- Import time: 4246ms → 358ms (92% faster)
The PIL library takes ~2s to import due to loading many image codec
modules. Deferring this import until needed dramatically reduces
startup time for the common case.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent abaef67 commit b0ac558
2 files changed
Lines changed: 18 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
8 | 12 | | |
9 | 13 | | |
10 | 14 | | |
11 | 15 | | |
| 16 | + | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
8 | 16 | | |
9 | 17 | | |
10 | 18 | | |
| |||
130 | 138 | | |
131 | 139 | | |
132 | 140 | | |
133 | | - | |
| 141 | + | |
| 142 | + | |
134 | 143 | | |
135 | 144 | | |
136 | 145 | | |
| |||
0 commit comments