HEIC Converter: Actor Model with Akka.net
I’ve been working on an app to bulk convert Apple’s HEIC images into JPG. This is primarily CPU-bound work, so getting the best throughput requires putting the machine’s complete set of cores to work.
The idea is to have a thread scanning a directory for images and then feeding those images to multiple worker threads to
process. A classic “single producer, multiple consumer” algorithm. I could handle this relatively simply with .NET
Channel<T>
, but I wanted some practice with Akka.net and the actor model. Here’s the actor
configuration I came up with: