vfx-rs / openexr-rs

BSD 3-Clause "New" or "Revised" License
10 stars 0 forks source link

Question: Performance Tuning #3

Closed johannesvollmer closed 12 months ago

johannesvollmer commented 1 year ago

Hi! I'm wondering, are there some well-known steps how to achieve the best runtime performance? Which switches to flip and which patterns to embrace?

There's a lot of parameters to tweak when creating an image, but when reading an image, we have to work with the existing data. So we can't change the compression method.

What I already know:

I'm not sure about:

Is there more? Thanks for considering :)

scott-wilson commented 1 year ago

So, I think your answer can be answered in two parts:

johannesvollmer commented 12 months ago

switching to the core C API sounds reasonable. Do you think that the performance could improve by doing that? Maybe the bindings might have to go through fewer conversion steps?

scott-wilson commented 12 months ago

That's a good question. Honestly, I'm not too sure. But from some informal discussions with some people connected to the OpenEXR project, that seems to be the way to go in general for them. A C++ or Rust front end, and C back end. But, your guess sounds reasonable.

johannesvollmer commented 12 months ago

alright, thanks for the info :)