What I think is the correct fix is posted as 
https://github.com/OpenImageIO/oiio/pull/2333 
<https://github.com/OpenImageIO/oiio/pull/2333>

My bad. For 2.0, we changed the APIs to make them stateless (thus thread-safe) 
and that pushed a call to seek_subimage into the implementation of 
read_native_scanline. But for DPX in particular, seek_subimage did not bother 
to check for the trivial case of whether it was being asked to seek to the 
subimage it was already pointed to, so a whole lot of additional work was done 
on every single scanline.

We use DPX a lot, I'm shocked nobody noticed this. Though I think it's worse on 
Windows, and MUCH worse if you are very heavily threading. So maybe a couple 
seconds on a DPX read went unnoticed for script-based processing. I will work 
on setting up some new performance tests that I hope will catch important 
performance regressions in the future.



> On Sep 4, 2019, at 1:58 PM, Larry Gritz <[email protected]> wrote:
> 
> Stand down, everybody. I have tracked it to the particular command, 
> understand it now, and I have a proper fix.
> I'll submit a PR today.
> 
>       -- lg
> 
> 
>> On Sep 4, 2019, at 1:51 PM, Renaud Talon <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> > I'm digging into it on my end. If you test other version tags (such as 
>> > 1.8.17), I'll be curious to hear the results.
>>  
>> I compiled 1.8.17 and ran this command again: “oiiotool -threads 1 -runstats 
>> in.dpx -o out.dpx”
>>  
>> 1.8.17:  consistently executes in 0.30 s (sometimes a little bit less)
>> 2.0.10:  consistently executes in 1.0+ s (sometimes a little bit less)
>>  
>> I haven’t been able to successfully get Python bindings to work yet because 
>> of some DLL import issues. (lovely DLLs) I’ll keep trying but I’m not sure 
>> which third party lib is the culprit so this might take a little while to 
>> figure out.
>> I’ll ran my benchmark script when I can fix my build.
>> _______________________________________________
>> Oiio-dev mailing list
>> [email protected] <mailto:[email protected]>
>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
> --
> Larry Gritz
> [email protected] <mailto:[email protected]>
> 
> 
> 
> 
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
[email protected]




_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to