Liking all the improvements, when trying to break new speed records in the calculating digits of the MRB constant, I was disappointed in the speed of V10.3. Has anyone else noticed a slowdown?
For the following example I calulate 10,000 and 20,000 digits using the following code
(*Fastest (at MRB's end) as of 24 dEC 2014.*)
prec = 10000;(*Number of required decimals.*)ClearSystemCache[];
T0 = SessionTime[];
expM[pre_] :=
Module[{a, d, s, k, bb, c, n, end, iprec, xvals, x, pc, cores = 16,
tsize = 2^7, chunksize, start = 1, ll, ctab,
pr = Floor[1.005 pre]}, chunksize = cores*tsize;
n = Floor[1.32 pr];
end = Ceiling[n/chunksize];
Print["Iterations required: ", n];
Print["end ", end];
Print[end*chunksize]; d = Cos[n ArcCos[3]];
{b, c, s} = {SetPrecision[-1, 1.1*n], -d, 0};
iprec = Ceiling[pr/27];
Do[xvals = Flatten[ParallelTable[Table[ll = start + j*tsize + l;
h = Log[ll]/ll; x = N[Exp[h], iprec];
pc = iprec;
While[pc < pr, pc = Min[3 pc, pr];
x = SetPrecision[x, pc];
y = x^ll - ll;
x = x (1 - 2 y/((ll + 1) y + 2 ll ll));];(*N[Exp[Log[ll]/ll],
pr]*)x, {l, 0, tsize - 1}], {j, 0, cores - 1},
Method -> "EvaluationsPerKernel" -> 4]];
ctab = ParallelTable[Table[c = b - c;
ll = start + l - 2;
b *= 2 (ll + n) (ll - n)/((ll + 1) (2 ll + 1));
c, {l, chunksize}], Method -> "EvaluationsPerKernel" -> 2];
s += ctab.(xvals - 1);
start += chunksize;
Print["done iter ", k*chunksize, " ", SessionTime[] - T0];, {k, 0,
end - 1}];
N[-s/d, pr]];
t2 = Timing[MRBtest2 = expM[prec];]; MRBtest2
I tested V9.0,10.0,10,1,10,2, and 10.3, with each one running without any of the others being open, and recorded the best out of the first three tries:
10,000 digits (prec=10000)
V9.0
11.9373778 sec
V10.0
10.9894860 sec
V10.1
10.4070760 sec
V10.2
10.7357446 sec
V10.3
28.4373030 sec
20,000 digits (prec=20000)
V9.0
55.6419174 sec
V10.0
49.0587499 sec
V10.1
48.2027381 sec
V10.2
48.2796596 sec
V10.3
111.9064210 sec
Version 10.1 seemed to be the fastest, but I've found that 10.2 catches up to 10.1 in larger calculations. However, it looks like 10.3 is a lost cause for this program!
The one command program,
Timing[N[Sum[(-1)^n (n^(1/n) - 1), {n, 1, Infinity},
Method -> "AlternatingSigns"], 3000]]
is just a little slower in 10.3. It could be that about each and every command is just a little bit slower in 10.3 than in those other recent releases.