Built-in Cross is slow
- To: mathgroup at smc.vnet.net
- Subject: [mg89865] Built-in Cross is slow
- From: Frank Hu <frank1998 at gmail.com>
- Date: Mon, 23 Jun 2008 02:47:23 -0400 (EDT)
Hi,
Does anyone know why the built-in Cross function is so slow? Compare
the following version
cross = Compile[{{a, _Real, 1}, {b, _Real, 1}}, {-a[[3]] b[[2]] +
a[[2]] b[[3]],
a[[3]] b[[1]] - a[[1]] b[[3]],
-a[[2]] b[[1]] + a[[1]] b[[2]]}];
to the built-in
a = RandomReal[1, {10000, 3}];
ca = Cross[#, {1.1, 2.2, 3.3}] & /@ a; // Timing
{1.17115,Null}
cb = cross[#, {1.1, 2.2, 3.3}] & /@ a; // Timing
{0.054181, Null}
That's 20 times difference.
Frank