MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Slow Show/Graphics in v6.0

  • To: mathgroup at smc.vnet.net
  • Subject: [mg80968] Re: [mg80906] Slow Show/Graphics in v6.0
  • From: Alex Shvydky <ashv at lle.rochester.edu>
  • Date: Thu, 6 Sep 2007 05:35:08 -0400 (EDT)
  • References: <200709050653.CAA26889@smc.vnet.net> <8860260B-096B-4F56-95A1-E2208C4BE319@wolfram.com>

Brett,
I did try you variant of the code. It does work much faster!
Instead of 124 seconds it takes about 16 on v6.0.
At the same time it is faster on v5.2 also and now takes 0.6sec
vs. 2.2.

So there is still a factor of almost 1.5 orders of magnitude in the 
execution
speed between v5.2 and v6.0.

I hope you'll fix it, guys (maybe you'll make use of hardware graphics 
accelerator
or something?). In the meantime I will just stick with v5.2

Thanks,
Alex

Brett Champion wrote:
> On Sep 5, 2007, at 1:53 AM , Alex Shvydky wrote:
>
>> Hello,
>>
>> Just wanted to share my puzzlement (utter disappointment/
>> frastration) with a ridiculously slow speed of Show/Graphics
>> routines in the v6.0 of Mathematica as compared to 5.2,
>> which to me at this point makes v6.0 plain unusable.
>>
>> Working with hydrodynamic simulations I need to
>> visualize the computational grid. So I wrote
>> simple Mathematica routines to draw a simulation grid.
>> In 5.2 they worked fabulously for the past couple of
>> years.
>>
>> Here's an example.
>> First, set up two 2dimensional x- and y-coordinate
>> arrays.
>>
>> Timing[
>>    mr = 350;
>>    mt = 350;
>>    xar = Table[((ir - 1.)/(mr - 1.))*Cos[Pi*((it - 1.)/(mt - 1.))],
>>                {it, 1, mt}, {ir, 1, mr}];
>>    yar = Table[((ir - 1.)/(mr - 1.))*Sin[Pi*((it - 1.)/(mt - 1.))],
>>                {it, 1, mt}, {ir, 1, mr}];
>> ]
>>
>> In v6.0 it took
>> Out[3]= {2.312, Null}
>> In v5.2 it took
>> {0.281 Second, Null}
>>
>> Which is an order of magnitude difference, but hold on.
>> Now let's plot the mesh by simply constructing table
>> of edges of all the cells (I am aware that the algorithm
>> below is very unoptimized and can be made faster etc. etc.
>> It was not my intention to discuss here what should be the
>> fastest algorithm to plot a 2-d mesh,
>> nor was it my intention to debate the issue why one
>> would need to plot such a large mesh in the first place...,
>> but rather to compare the execution time for an IDENTICAL
>> code on v6.0 and v5.2. and get some confirmation/explanation
>> of such a suspiciously slow execution speed!).:
>>
>> Timing[
>> Show[
>>     Graphics[{Hue[0.7], AbsoluteThickness[0.1],
>>     Table[{Line[{{xar[[it,ir]], yar[[it,ir]]},
>>                       {xar[[it,ir + 1]],yar[[it,ir + 1]]},
>>                       {xar[[it + 1,ir + 1]], yar[[it + 1,ir + 1]]},
>>                       {xar[[it + 1,ir]], yar[[it + 1,ir]]}}]},
>>          {ir, 1, mr - 1}, {it, 1, mt - 1}]
>>     }],
>> PlotRange -> {{-1, 1}, {0, 1}}, AspectRatio -> 1/2, Axes -> True,
>> DisplayFunction -> $DisplayFunction, ImageSize -> 800]]
>>
>> While the timing as, it is returned by the Timing[] function,
>> is smaller in the v6.0:
>> {1.703, <Here goes the actual graphics>}
>> vs.
>> {2.094 Second, -Graphics-}
>> in v5.2
>>
>>
>> The actual cell evaluation time in v.6.0 is 124.11 seconds
>> vs. 2.22 seconds in v 5.2. ???!!!!!!!
>>
>> Could anybody please confirm this. Also it would be helpful
>> if someone from Wolfram Research would explain if
>> that is intended (unavoidable) by design or maybe
>> a simple setting (which I am unaware of) or a future patch
>> will be able to fix it.
>>
>> Also, it is horribly slow to resize the above graphics
>> in v5.2 you just grab the corned and drag. In v6.0 you
>> must do it 10-100 times slower (is it possible
>> that I just have a very poor graphics card?).
>
> This should be much faster to render, although it's still a bit 
> sluggish to resize.
>
>
> Timing[Show[
>   Graphics[{Hue[0.7],
>     AbsoluteThickness[
>      0.1], {Line[
>       Developer`ToPackedArray[
>        N[Flatten[
>          Table[{{xar[[it, ir]], yar[[it, ir]]}, {xar[[it, ir + 1]],
>             yar[[it, ir + 1]]}, {xar[[it + 1, ir + 1]],
>             yar[[it + 1, ir + 1]]}, {xar[[it + 1, ir]],
>             yar[[it + 1, ir]]}}, {ir, 1, mr - 1}, {it, 1, mt - 1}], 
> 1]]]]}}],
>   PlotRange -> {{-1, 1}, {0, 1}}, AspectRatio -> 1/2, Axes -> True,
>   DisplayFunction -> $DisplayFunction, ImageSize -> 800]]
>
> Brett Champion
> Wolfram Research
>

-- 
_______________________________________________________________

Alex Shvydky                           <ashv at lle.rochester.edu>

Research Associate
Computational Design Group

Laboratory for Laser Energetics        Office:  1423 COI
University of Rochester                Phone:  (585) 275-9539
250 East River Road                    FAX:    (585) 275-5960
Rochester NY  14623
_______________________________________________________________



  • Prev by Date: Re: Slow Show/Graphics in v6.0
  • Next by Date: Re: Slow Show/Graphics in v6.0
  • Previous by thread: Re: Slow Show/Graphics in v6.0
  • Next by thread: Re: Slow Show/Graphics in v6.0