MathGroup Archive 1999

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

Search the Archive

Re: Re: Re: easiest way to sort a list?

> I have just had a private "dispute" with David Withoff concerning a similar
> matter. My point was (or at least what I intended to say though maybe  I
> faiiled to make it quite clear)  was that a user has essentially no reliable
> way to "theoretically" estimate the performace of Mathematica programs, even
> their relative performance. All we can do is just run various examples on
> our machines and make guesses about what is going on internally. David
> Withoff's point - as far as I managed to understand it and I do hope I am
> not misrepesenting him- was that it is possible to make accurate
> "theoretical estimates" if one takes all the relevant factors into account.
> However what this seems to amount to is that  David Withoff and others at
> wri can make such estimates, which is a rather different thing.
> --
> Andrzej Kozlowski
> Toyama International University

In any complicated system, timing estimates are essentially always based
on approximations, models, and guesses.  That is neither unexpected nor
is it unique to Mathematica.  If you want to get accurate timing estimates
you can do that, but it requires a *lot* of study and a *lot* of work.
You need to find and study documentation for a whole collection of things
about your computer, most of which do not involve Mathematica.  

The whole point of a high-level system is that it relieves the user of
the need to worry about such details.  Even if I had documentation for
how many machine cycles it takes to call a subroutine, and myriad other
details, I do not have the time to read and understand it all and still
do what I want to do using Mathematica.

Our "dispute" was about something else altogether -- specifically your
original statement

  > If I am right than this is an interesting illustration of the difference
  > between Mathematica programming and theoretical computer science.

which I claimed (and still claim) is at best misleading.  As you later
pointed out, theoretical computer science didn't suddenly become invalid
when Mathematica was invented.  The difference is not between Mathematica
and theoretical computer science, but between a correct analysis and
the best guess that you are able to come up with given the amount of
time and effort that you are willing to invest in analyzing a complicated
high-level system.

In other words, this whole discussion about the difficulty of doing
correct timing analysis in a high-level system is really just an expression
of our shared frustration that we can't have it both ways.  We cannot
get the tremendous advantages associated with being blissfully ignorant
of the details of the system and simultaneously understand all of those
details well enough to do completely reliable analysis.

Dave Withoff
Wolfram Research

  • Prev by Date: Re: Need a means to get arguments of a function
  • Next by Date: Thickness in 3D parametric plots
  • Previous by thread: Re: Re: easiest way to sort a list?
  • Next by thread: RE: Re: Re: easiest way to sort a list?