How is this done among the devs? Are you guys using valgrind/similar? Any information would be appreciated!
Solved! Go to Solution.
Solved by thiago.ize. Go to 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.
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).