Recommendation on profiling c++ plugins

Recommendation on profiling c++ plugins

zenop
Advocate Advocate
803 Views
3 Replies
Message 1 of 4

Recommendation on profiling c++ plugins

zenop
Advocate
Advocate

How is this done among the devs? Are you guys using valgrind/similar? Any information would be appreciated!

0 Likes
Accepted solutions (1)
804 Views
3 Replies
Replies (3)
Message 2 of 4

thiago.ize
Autodesk
Autodesk
Accepted solution

For a first pass, I suggest using the arnold profiler:

https://docs.arnoldrenderer.com/pages/viewpage.action?pageId=86806604

https://docs.arnoldrenderer.com/pages/viewpage.action?pageId=71013068


Note you can add the profiling instrumentation to your own code so you can measure where time is being spent. This will let you know what code block in your code is taking the most amount of time.


After that, Apple Instruments (for OSX), perf (for linux) or vtune/visual studio (for windows) can be used to see low level details of where your code is spending time (this instruction was 1.3% of the time) and why it might be slow.

0 Likes
Message 3 of 4

zenop
Advocate
Advocate

Quality. Thanks Thiago.

0 Likes
Message 4 of 4

maxtarpini
Collaborator
Collaborator

Just an hint. Before going to profile is good practice to formalize your code in unit tests that can be run without the shader/plugin dep. First because it's almost impossible to profile a shader lib with ie. vtune/perf, second because probably ai.lib can't be run in a free environment (could be locked to Arnold and also it looks like there ain't a debug version).

0 Likes