Re: Canonical equivalence in rendering: mandatory or recommended?

From: Doug Ewell (dewell@adelphia.net)
Date: Thu Oct 16 2003 - 09:56:48 CST


Peter Kirk <peterkirk at qaya dot org> wrote:

> On 16/10/2003 00:26, Doug Ewell wrote:
>
>> You can never tell whether something is going to be a "performance
>> issue" -- not just "measurably slower," but actually affecting
>> usability -- until you do some profiling. Guessing does no good.
>
> Well, did the people who wrote this in the standard do some profiling,
> or did they just guess? There should be no place in a standard for
> statements which are just guesses.

I don't know. I probably wouldn't have written it that way, though, nor
used the word "insignificant." I might have left it at "this is a
relatively inexpensive operation, compared to the time necessary to
carry out other work required for rendering."

It always helps to have some knowledge of the application. Just the
other day at work, I asserted -- without profiling -- that a certain
operation would *not* be a performance issue. It involved massaging an
integer value for backward compatibility before using it to populate a
dialog box:

switch (nOption)
{
    case 0: nOption = 2; break;
    case 2: nOption = 0; break;
    default: break;
}

The process of populating this dialog box also involves several
underlying calls to the Windows API, and a call to a SQL database, which
are far more expensive than this simple integer operation.

In this case, I was familiar with the application, and knew that the
extra processing would not be performed in a loop or something.
*Unless* you have that type of knowledge, profiling is really the only
way to tell whether you have a performance issue.

-Doug Ewell
 Fullerton, California
 http://users.adelphia.net/~dewell/



This archive was generated by hypermail 2.1.5 : Thu Jan 18 2007 - 15:54:24 CST