Skip to content

feat(imageloader): dedicated thread pool for blocking IO#461

Merged
Tom94 merged 1 commit into
masterfrom
dedicated-io-threadpool
Jul 7, 2026
Merged

feat(imageloader): dedicated thread pool for blocking IO#461
Tom94 merged 1 commit into
masterfrom
dedicated-io-threadpool

Conversation

@Tom94

@Tom94 Tom94 commented Jul 7, 2026

Copy link
Copy Markdown
Owner

This change is more involved than it sounds: by being loaded in a separate threadpool, image data IO and decoding is now better parallelized. A few redundant copies are now also avoided. However, this change requires adapting pretty much all format-specific loaders (as well as the EXIF metadata loader) in order to avoid said unnecessary copies.

The net result is faster bulk image loading (IO no longer blocks CPU-intensive work and vice versa) at the cost of a bit more RAM (all encoded images go into memory up front).

This change is more involved than it sounds: by being loaded in a
separate threadpool, image data IO and decoding is now better
parallelized. A few redundant copies are now also avoided. However, this
change requires adapting pretty much all format-specific loaders (as
well as the EXIF metadata loader) in order to avoid said unnecessary
copies.

The net result is faster bulk image loading (IO no longer blocks
CPU-intensive work and vice versa) at the cost of a bit more RAM (all
encoded images go into memory up front).
@Tom94 Tom94 force-pushed the dedicated-io-threadpool branch from e3fd037 to 1c17f9f Compare July 7, 2026 14:53
@Tom94 Tom94 merged commit e6b6d9d into master Jul 7, 2026
0 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant