help to make code run faster (mathematica v8.01)
- To: mathgroup at smc.vnet.net
- Subject: [mg121318] help to make code run faster (mathematica v8.01)
- From: kristoph <kristophs.post at web.de>
- Date: Sat, 10 Sep 2011 07:28:51 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
Hi I'm running out of options in order to make my code run faster. I do appreciate any help. I programmed a function named tStat that basically sums over two compiled functions. Although, I run the function parallel it is still rather slow. Thanks in advance for help. Here is what I mean: (*the following 5 lines is just random input data to test the function*) resp=RandomReal[10,250]; reg=RandomReal[1,250]; des=DesignMatrix[Table[{reg[[i]],resp[[i]]},{i,1,Length[reg]}],x,x]; fit=LinearModelFit[{des,resp}]; h=1.06 StandardDeviation[reg] Length[reg]^(-1/5); (*the two compiled functions which are inputs for the function tStat*) epanKern=Compile[{u}, If[Abs[u]<1,3/4 (1-u^2),0] ]; val1=Compile[{{rk,_Real},{rj,_Real},{dk,_Real},{dj,_Real}, {band,_Real}}, rk rj epanKern[(dk-dj)/band]]; (*the following function is rather slow*) tStat[data_,band_,residuals_,leg_]:=Module[{k,j,res=0,var=0}, res=ParallelSum[val1[residuals[[k]],residuals[[j]],data[[k]],data[[j]],band], {k,1,leg},{j,k+1,leg}]; 2 res ]; (*executing the function*) tStat[reg,h,fit["FitResiduals"],Length[reg]]//AbsoluteTiming
- Follow-Ups:
- Re: help to make code run faster (mathematica v8.01)
- From: Patrick Scheibe <pscheibe@trm.uni-leipzig.de>
- Re: help to make code run faster (mathematica v8.01)
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: help to make code run faster (mathematica v8.01)