Speeding up GPC

Fri, 13 Jun 1997 13:47:24 +0200 (MET DST)


Hello, folks!

I just compiled a Unit with a 5000-line interface part with GPC.
50 (fifty) seconds on a Pentium 166. :-( That's about a factor of
100 (!) slower than Borland Pascal 7.0 on the same host. :-( :-(

Using (*$M Message *) directives, I found out that 90% of the time
was spent in writing the GPI file (this is done when `Implementation'
is read):


    Unit Foo;

    Interface

    (* ... Many constant definitions ... *)

    (*$M Writing GPI file ... *)

    Implementation

    (*$M GPI file written. *)

    (* ... other stuff *)

    end.


I think I know already why this takes so long, so you can expect this
bottleneck to vanish in the future.  Now comes my request:

    Please help to find similar bottlenecks in GPC!

To do so, you can compile your longer programs with the `-Q' option
which makes GPC output the name of each function it compiles, and/or
you can scatter (*$M message *) directives about your source like I
did in the example above.

As written in the DJGPP FAQ, GCC compiles 250 (-O2) to 430 (-O0) lines
per second on an i486DX2-66.  Since Pascal is stricter than C, GPC should
not be slower!

Thanks in advance,

    Peter

 Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer
peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201]
 maintainer GNU Pascal [970510] - http://home.pages.de/~gnu-pascal/ [970125]


Peter Gerwinski (peter@agnes.dida.physik.uni-essen.de)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es