In[]:=
resTimes=computeAllParts[7000000,5000];
5000 iterations left
2205.09
4999 iterations left
2218.88
4998 iterations left
2302.33
4997 iterations left
2317.02
4996 iterations left
2317.68
4995 iterations left
2310.64
4994 iterations left
2295.27
4993 iterations left
2324.17
4992 iterations left
2319.71
4991 iterations left
2312.96
4990 iterations left
2335.77
4989 iterations left
2296.27
4988 iterations left
2314.84
4987 iterations left
2296.62
4986 iterations left
2296.31
4985 iterations left
2290.52
4984 iterations left
2311.93
4983 iterations left
2311.12
4982 iterations left
2282.76
4981 iterations left
2288.34
4980 iterations left
2302.88
4979 iterations left
2284.58
4978 iterations left
2286.87
4977 iterations left
3168.09
4976 iterations left
3086.04
4975 iterations left
2305.76
4974 iterations left
2299.48
4973 iterations left
2298.31
4972 iterations left
2299.23
4971 iterations left
2319.32
4970 iterations left
2300.38
4969 iterations left
2308.75
4968 iterations left
2323.75
4967 iterations left
2313.43
4966 iterations left
2319.79
4965 iterations left
2309.83
4964 iterations left
2266.74
4963 iterations left
2278.57
4962 iterations left
2269.62
4961 iterations left
2276.44
4960 iterations left
2287.9
4959 iterations left
2281.28
4958 iterations left
2300.27
4957 iterations left
2308.57
4956 iterations left
2286.96
4955 iterations left
2281.44
4954 iterations left
2290.83
4953 iterations left
2314.37
4952 iterations left
2308.93
4951 iterations left
2298.27
4950 iterations left
2310.66
4949 iterations left
(*Timing[MRB2=MRBFromPartsStream[7000000,5000];N[mtest-MRB2,30]]*)
Totaltimefornthroots:
In[]:=
2310.6635936`*5000seconds
Out[]=
1.15533×seconds
7
10
In[]:=
%*1hour/(3600seconds)
Out[]=
3209.25hour
In[]:=
%*1day/(24hour)
Out[]=
133.719day
TotaltimeforBlock:Sameasstandardcompute--150days
ClearAll[MRBStreamBlocked];MRBStreamBlocked[pre_Integer,parts_Integer,block_Integer:1000]:=Module[{pr=Floor[1.005pre],n,d,files,L=0,need,b,c,s,sb,i,file,chunk,k,x,blkCount=0},n=Floor[1.32pr];d=SetPrecision[ChebyshevT[n,3],pr];(*globalaccumulators*)s=SetPrecision[0,pr];b=SetPrecision[-1,pr];c=-d;need=n;files=Table["terms"<>ToString[i]<>".wxf",{i,parts}];Do[If[need≤0,Break[]];If[!FileExistsQ[file],Continue[]];chunk=Import[file,"WXF"];Do[If[need≤0,Break[]];x=SetPrecision[chunk[[k]],pr];(*recurrence*)c=b-c;s+=c*(x-1);b*=2(L+n)(L-n)/((L+1)(2L+1));L++;need--;blkCount++;(*renormalizeeveryblocksteps*)If[Mod[blkCount,block]0,b=SetPrecision[b,pr];c=SetPrecision[c,pr];s=SetPrecision[s,pr];];,{k,Length[chunk]}];,{file,files}];If[need>0,Return[Failure["NotEnoughTerms",<|"Have"L,"Need"n|>]]];N[-s/d,pr]];AbsoluteTiming[MRB2=MRBStreamBlocked[7000000,5000,100000];]