I'm attempting to run find-orientations on a more interesting sample, one with a few hundred orientations as opposed to ~4. It takes about 3.5 minutes before find-orientations gets to the point where it starts multiprocessing on paintGrid. I think the bottleneck is in findorientations.generate_orientation_fibers. An abort yielded:
File "/home/darren/Projects/hexrd/hexrd/findorientations.py", line 130, in generate_orientation_fibers
qfib.append(mutil.uniqueVectors(qfib_tmp))
File "/home/darren/Projects/hexrd/hexrd/matrixutil.py", line 530, in uniqueVectors
if any(ivSrt[:, col] != ivSrt[:, col -1]):
KeyboardInterrupt
And inspecting the function, I see:
for i in range(len(pd_hkl_ids)):
for ispot in range(numSpots[i]):
Seems like a candidate for optimization at some point.