Re: Could someone help optimize this for Mathematica 9?
- To: mathgroup at smc.vnet.net
- Subject: [mg128943] Re: Could someone help optimize this for Mathematica 9?
- From: Brett Champion <brettc at wolfram.com>
- Date: Wed, 5 Dec 2012 03:11:38 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20121204091410.B2B8E68C4@smc.vnet.net>
On Dec 4, 2012, at 3:14 AM, "McHale, Paul" <Paul.McHale at excelitas.com>
wrote:
> We have a strong need to view large numbers of data points.
Mathematica 8 was excellent at this. The following code executed under
both 8 and 9 (Windows):
>
> Mathematica 8: Less than 0.5 seconds
> Mathematica 9: Greater than 4 seconds
>
> mNumberSamples=100000;
> mFrequency=10;
> m=Table[{t/mNumberSamples ,Sin[t/mNumberSamples mFrequency*2
\[Pi]]}*1.0,{t,1,mNumberSamples}];mStartTime=SessionTime[];
> ListLinePlot[m]
> mStopTime=SessionTime[];
> StringForm["Elapsed time = ``", N[mStopTime-mStartTime]]
>
> I have tried the code on a slower mac laptop (version 9 only) and had
the same slower results. Any input welcome as this functionality is
extremely important to us.
>
This was caused by an oversight when updating ListLinePlot to support
units for V9. The fastest workaround I've found so far is to use:
m = Developer`ToPackedArray[ Table[...] ];
Depending on what options you're using to generate the plots, it may
also be slightly faster to use ListPlot[m, Joined->True] instead of
ListLinePlot[m].
Brett Champion
Wolfram Research
- References:
- Could someone help optimize this for Mathematica 9?
- From: "McHale, Paul" <Paul.McHale@excelitas.com>
- Could someone help optimize this for Mathematica 9?