[fpc-devel] OO rewrite - first round finished

Florian Klaempfl florian at freepascal.org
Tue Jul 27 09:09:15 CEST 2010

Am 27.07.2010 05:37, schrieb Hans-Peter Diettrich:
> The first version of the OO rewrite branch is ready for alpha testing :-)
> Now I need assistance in testing 

Try building fpc:
make all

Run the testsuite:
cd fpc/tests
make clean all digest TEST_FPC=../compiler/ppc386
compare the resulting faillog from trunk and from your branch

> and profiling it. 

As a first step, I consider the result of
cd compiler
time make cycle
with a hot disk cache before and after a change as good enough to see if
a change hurts performance.

When changing things like unit loading or file handling, I time lazarus
compilation as well.

If the time changes, I usually use callgrind to find out what has changed.

> Can somebody do that,
> or give me instructions how to do that myself?
> The current version still uses global variables, 

This is imo no problem so far, better do small steps and let's do it

> which shall be moved
> into objects in the next round. Since this difference may affect the
> runtime behaviour, a tag for this version would be nice, so that
> different models can be derived from the same base.
> Another idea is a cache for frequently created objects, like procinfo
> and the register allocators.

Basically, I'am against this, time should be spent better in
optimizations where all program benefit. Especially fillchar is probably
a problem.

More information about the fpc-devel mailing list