openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openexr-devel] Speeding up Python


From: Tyler Fox
Subject: Re: [Openexr-devel] Speeding up Python
Date: Tue, 2 Apr 2019 16:31:19 -0700

Oh, sorry, I never *actually* answered your question. Yes, if I run your code, I get similar timing results. The naive numpy copy definitely does its looping and unpacking in python.
But that's my point. I'm proposing a way that would allow us to copy that data without python iteration to any type that lets us map it in ctypes. 
This is without having to write library specific code in c++.

I did a little more work, and made a gist of a pure python imathnumpy.arrayToNumpy.
It runs at native speeds, and handles almost all imath array data types (I skipped string arrays), not just the 3 that are built in to the c++ module.
https://gist.github.com/tbttfox/0fc8dbe284f8dcd143cb507658a6fd8d  

Also, here's a use-case that doesn't use numpy:
Maya python api array types allow access via MScriptUtil as SWIG pointers. And those pointers allow accessing the pointer address.
So we can use the exact same ctypes technique to map the imath objects to openmaya objects.

With that running locally, I've got an alembic exporter for Maya written in python that runs at a speed comparable to the c++ one.

~T.Fox



reply via email to

[Prev in Thread] Current Thread [Next in Thread]