       Mathematica 20x slower than Java at arithmetic/special functions, is

• To: mathgroup at smc.vnet.net
• Subject: [mg115880] Mathematica 20x slower than Java at arithmetic/special functions, is
• From: Leo Alekseyev <dnquark at gmail.com>
• Date: Sun, 23 Jan 2011 17:33:09 -0500 (EST)

```I was playing around with JLink the other day, and noticed that Java
seems to outperform Mathematica by ~20x  in an area where I'd expect
Mathematica to be rather well optimized -- arithmetic involving special
functions.  In my particular example, I am simply evaluating a sum of
Bessel functions.  I understand that much depends on the underlying
implementation, but I just want to run this by Mathgroup to see if
this is to be expected, or maybe if I'm doing something suboptimal in
Mathematica.  Here's the code that I'm running:

grid1dc[x_,
y_] = (With[{d = 0.1, NN = 50},
Sum[Re[N[
d BesselJ[1, 2 Pi d Sqrt[m^2 + n^2]]/
Sqrt[m^2 + n^2 + 10^-7]] Exp[
I 2.0 Pi (m x + n y)]], {m, -NN, NN, 1}, {n, -NN, NN, 1}]]) //
N

and

gridres1da =
With[{delta = 0.5, xlim = 2.5, ylim = 2.5},
Table[{x, y, grid1dc[x, y]}, {x, -xlim, xlim, delta}, {y, -ylim,
ylim, delta}]]

Java implementation uses Colt and Apache common math libraries for the
Bessels and complex numbers, uses a double for loop, and consistently
runs 15-20 times faster.

--Leo

```

• Prev by Date: Re: adding a keyboard shortcut for double brackets
• Next by Date: Re: Simple n-tuple problem - with no simple solution
• Previous by thread: Re: Plot works in Mathematca 7 but not in Mathematica 8 [CORRECTION]
• Next by thread: Re: Mathematica 20x slower than Java at arithmetic/special functions, is