How to evaluate the computation time of some codes in parallel properly?
1 view (last 30 days)
I need to evaluate the computation time of an algorithm in multiple runs (e.g., 21 runs). To reduce the time, I use parfor to conduct 21 runs in parallel. However, I found that the compuation time of algorithms in parfor is very unstable, especially when the computation time of the algorithm is short. I use tic and toc in the parfor to record computation time.
Is there any other method in matlab to evaluate the computation time in parallel more properly ? Your help is really appreciated!
Jeffrey Clark on 3 Aug 2022
@Slivery, when using the cputime difference method don't forget to divide by 21 (the number of executions being averaged). Depending on how short each computation is you may still have a lot of MATLAB and threading overhead time included in your timing. In that case add a wrapper for your function to simply loop N times and then include N in your division.