MathGroup Archive 1994

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

Search the Archive

Re: PowerPCs

  • To: mathgroup at yoda.physics.unc.edu
  • Subject: Re: PowerPCs
  • From: withoff (David Withoff)
  • Date: Sun, 3 Jul 1994 19:37:59 -0500

> To: Dave Withoff
> 
> (2) I know that the front end timing on a certain NeXT workstation is  
> systematically off by about 20%. I don't know that this problem does not arise  
> on other platforms. That's why I asked people to CHECK timings with a
> stopwatch, NOT RELY on stopwatch timings.

The timing displayed on my NeXT when I click "Display clock timing for
each evaluation" seems to be systematically high by about 70%.  This is
probably a NeXT-specific bug.  I haven't seen that behavior on other
computers.  The same timing on Mac and Windows seems reliable for
as a clock timing.

>     An example of what I am trying to avoid is on p.5 of the 5.30.94 MacWeek,  
> where a "Timing" result of ListPlot is given as 4.48 seconds on a PowerMac,  
> which does not include the considerable time for rendering the Postscript  
> graphic. This is claimed to take 27.3 seconds on a Quadra 700, a result which  
> almost certainly is total elapsed time. In fact this same calculation on the  
> aforementioned NeXT, which uses the same processor as the Quadra 700 (25mhz  
> 68040), takes 28 seconds elapsed time but gives a Timing result of 8.4 seconds.  
> (The front end shows 34 seconds!)
>     The result is that WRI, in a national publication, seems to be claiming (I  
> assume unintentionally) that Mathematica on the PowerMac is 6 times as fast as  
> on a Quadra 700; the truth seems to be that it is roughly twice as fast on this  
> particular calculation. While the comparison shown may serve the short-term  
> interests of Apple Computer and/or WRI, in the long run we'll all be better off  
> with the more more realistic comparison.

I don't know the origin of the timing results  that you described, but
they are, as you point out, misleading and almost certainly wrong.  Without
understanding at a fairly low level how the timing was done it is
difficult to have confidence in the results, and the results shouldn't
be published as authoritative.  

The only timing results that I think I understand well enough to
believe them are the results of Timing[expr], and then only after
verifying that

    - the program has plenty of memory
    - nothing is being cached (such as factorials)
    - the calculation never left the kernel
    - no significant memory management, such as rehashing
        the heap, is necessary

and a few similar things.  Results for clock timing can also
be useful provided you can in addition ensure that nothing other
than the process being measured used a significant amount of time.

Timing comparisons between computers, even between computers of the
same type, are further complicated by the fact that overlooked or
seemingly unimportant differences in configuration can sometimes
have a dramatic effect on timing.  The only way to get reliable
timing results when comparing computers is to use examples that
are known to be done in comparable ways on different computers.
Usually this necessitates the use of rather simple examples.
Analyzing a complicated example, such as an example involving Plot,
well enough to give meaningful comparisons is certainly possible,
but it is a formidable undertaking, and I don't think anyone
has done it.

> Personally, I think "Timing" results are much less useful for users than for  
> systems engineers. Users likely want to know how long something actually takes,  
> and are less interested in why.

Hmmmm....  The main reason for timing calculations is to figure out how
to make them faster, and an essential part of doing that is figuring out
which part of a calculation is using most of the time, and why.  The
Timing function gives an accurate measure of the time that the kernel
spends evaluating expressions.  If most of the time in a particular
calculation is spent evaluating expressions, Timing gives precious
information.  If most of the time is not spent evaluating expressions
the result of Timing is still useful, since it tells the user to look
elsewhere in efforts to speed up the calculation.  Clock timing can
tell you that something on your computer is using lots of time, but
it won't tell you what that is, and it may be something entirely
unexpected, like a configuration problem or another process.

> *********************************************************************
> Richard Mercer                             513-873-2191 office
> Department of Mathematics and Statistics   513-873-2785 message
> Wright State University                    513-429-2179 fax
> Dayton, OH 45435                           NeXTmail welcome!
> richard at rmercer.wright.edu        or       rmercer at desire.wright.edu
> *********************************************************************

Dave Withoff
Research and Development
Wolfram Research





  • Prev by Date: Re: simplification of sums
  • Next by Date: Re: books
  • Previous by thread: Re: PowerPCs
  • Next by thread: Re: PowerPCs