Subject: CCL:timings and compilers

From: "Tamas Gunda, Hungary" <[email-masked]>
Date: Mon, 22 Aug 1994 11:24:31 +0100

Hi everybody,
 
There were several talks on the CCL about the speed of programs in different
hardware environments. For example, the following (or a similar) table
appeared several times:
 
> Here are some timings for HyperChem, written in C, for comparison.
>
> MNDO energy and gradient for C60, converged to 1e-2, without DIIS:
>
> Computer                  Time (s)     Rel. speed
> 486DX 50 MHz                375             1
> Pentium 90 MHz              87.6           4.28
> SGI Indy 100 Mhz            77.8           4.82
> IBM RS/6000-250 66 MHz      51.8           7.24
> DEC 3000 200 MHz (I think)  42.4           8.84
>
 
Somebody(s) has mentioned also the importance of compilers used to
generate the executable program files. This may have far greater
influence on the speed of the program, as the processor type
itself. For those, who are not very much involved in programming,
an example from my own practice:
 
The Z-buffering means that before displaying the molecule,
the atoms have to be sorted according to their Z coordinate.
In the case of a molecule with 2208 atoms, on a 486DX33 PC,
using exactly the same sorting algorithm:
 
        environment:                                  time:
 
PDB 7.1 QBX / DOS (= professional version of          24 sec
       QuickBasic)
 
Visual Basic 3.0 / Windows 3.1                        38 sec
 
Assembler (= directly in machine code), "hand made and
       optimized" for speed and 32 bits,
       implanted into QBX                            0.4 sec
 
So there is an about 50 fold difference, if the most time
consuming steps are in "hand made assembler" on the same hardware!
Unfortunately I do not have data for the C language environment, it
should be somewhere between.
 
It is up to the programmers and programming houses, how and to what extent
they take the advantage of the third (and most time-consuming) prog-
ramming method. I think, it is a quite general programming habit
recently, that programs are written superficially, at least as
speed is concerned, beliving that in the days of recent processors,
it has no importance. It has!
 
The above data are for the PC, but the situation could be similar in another
platforms, too.
 
So it is very suggested to compare different programs, or different versions
of the same program in the same machine, because the informations
gathered from these experiments are as important (or more), as the experiments
with different processor types.
 
Best wishes
                                        Tamas E. Gunda