In[1]:= A = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
B = IdentityMatrix[3];
In[3]:= SetOptions[TimeAv, Method -> {"MinNum", 10000}, "BlockSize" -> 1000];
In[4]:= Transpose[Table[Cross[Transpose[B][[i]], Transpose[A][[i]]],
{i, 3}]] // TimeAv
During evaluation of In[4]:= Total wall time is 4.817133,
total cpu time is 4.07 and total time spent evaluating the expression is 4.07
During evaluation of In[4]:= The expression was evaluated 10000 times,
in blocks of 1000 runs. This yields a mean timing of 0.000407
with a blocked standard deviation of 7.81025*10^-6.
Out[4]= {0.000407, {{0, 8, -6}, {-7, 0, 3}, {4, -2, 0}}}
In[5]:= Transpose[Apply[Cross, Transpose[{Transpose[B], Transpose[A]}],
{1}]] // TimeAv
During evaluation of In[5]:= Total wall time is 3.847493,
total cpu time is 3.85 and total time spent evaluating the expression is 3.85
During evaluation of In[5]:= The expression was evaluated 10000 times,
in blocks of 1000 runs. This yields a mean timing of 0.000385
with a blocked standard deviation of 5.*10^-6.
Out[5]= {0.000385, {{0, 8, -6}, {-7, 0, 3}, {4, -2, 0}}}
In[6]:= Quiet[Transpose[Thread[Cross[Transpose[B], Transpose[A]]]],
Cross::nonn1] // TimeAv
During evaluation of In[6]:= Total wall time is 4.462055,
total cpu time is 4.46 and total time spent evaluating the expression is 4.46
During evaluation of In[6]:= The expression was evaluated 10000 times,
in blocks of 1000 runs. This yields a mean timing of 0.000446
with a blocked standard deviation of 9.16515*10^-6.
Out[6]= {0.000446, {{0, 8, -6}, {-7, 0, 3}, {4, -2, 0}}}