It means that I made changes to code, so that it can work with any multi-threading strategy. G’MIC is a interpretative language with JIT support, and you don’t have any control over automated multi-threading strategy. It can be thread 0 to thread N linearly, or even interleaved. So, the workaround is to make a image of size equal to cpus count, and do the multithreading there.
Yeah, I love image processing, I worked on it for 8+ years now.
Sometimes, I just rewrite my code until it is good enough. Other times, I leave it to my memory, so I can figure it out later. And others, I’m just not happy about it, like the times I did bigbin2dec and it would only work well with something like thread-ripper.