[fpc-pascal] Not specifying the {$H+} degrades performance
Graeme Geldenhuys
graemeg.lists at gmail.com
Mon Mar 26 12:54:09 CEST 2007
Hi,
If I have a .pas unit and forgot to specify the compiler mode line
{$mode objfpc}{$H+}
what does FPC default to? Compiler Mode? Longstring or Shortstring?
I wrote a string tokenizer and did some time trials against an old
tokenizer I used. First I forgot to include the compiler mode line
above and did some test runs. I then noticed my mistake and added in
that line and did some more test runs. The second set of tests where
on avg 10% faster!
After some more testing I realized it is the {$H+} that gave me the
performance boost. What does FPC default to? Why not default to {$H+}
?
Lazarus added the following compiler parameters:
----------------------------------------------------
-S2cgi -OG1 -gl -vewnhi -l
-Fu/opt/lazarus/components/fpcunit/lib/i386-linux/
-Fu/opt/lazarus/components/synedit/units/i386-linux/
-Fu../../3rdParty/tiOPF2/Source/Compilers/FPC/lib/i386-linux/
-Fu/home/graemeg/programming/3rdParty/FBlib/lib/i386-linux/
-Fu/opt/lazarus/lcl/units/i386-linux/
-Fu/opt/lazarus/lcl/units/i386-linux/gtk/
-Fu/opt/lazarus/packager/units/i386-linux/ -Fu. -ofpcunitproject1
-dUseCThreads -dLCL -dLCLgtk
----------------------------------------------------
--
Graeme Geldenhuys
There's no place like S34° 03.168' E018° 49.342'
More information about the fpc-pascal
mailing list