[fpc-devel] Re: Comparison FPC 2.6.2 - Kylix 3

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Mar 4 15:23:36 CET 2013


On Mon, 4 Mar 2013 15:02:34 +0100 (CET)
Michael Van Canneyt <michael at freepascal.org> wrote:

> 
> 
> On Mon, 4 Mar 2013, Mattias Gaertner wrote:
> 
> > On Mon, 4 Mar 2013 14:50:17 +0100
> > Martin Schreiber <mse00000 at gmail.com> wrote:
> >
> >> On Monday 04 March 2013 07:08:25 Martin Schreiber wrote:
> >>>
> >>> Both Delphi 7 and Kylix 3 compiled MSEide feel more snappy than their FPC
> >>> counterpart which is especially surprising for Delphi because Delphi
> >>> widestrings are not reference counted.
> >>>
> >> Some more tests, starting MSEide, loading and highlighting the 277441 lines
> >> MacOSAll.pas from FPC 2.4.0:
> >>
> >> FPC 2.6.2 Windows 3.2..3.5s
> >> Delphi 7 Windows       4.0s
> >> FPC 2.6.2 Linux        5.0s
> >> Kylix 3 Linux          4.0s.
> >>
> >> It seems there is actually a benefit of the reference counted Free Pascal
> >> UnicodeStrings on Windows.
> >
> > Any idea, why FPC Linux is slower than FPC Windows?
> > Loading and highlighting does not sound like a task where many OS calls
> > are involved.
> 
> Codepage conversions, most likely: Martin uses UTF-16 everywhere.
> On Windows, FPC uses the native support for UTF-16.
> Not exactly sure what happens on Linux.

MacOSAll.pas is 8-bit. On both systems MSEIDE has to convert it to
UCS-2 (afair not UTF-16).
Do you mean MSEIDE uses the Widestring manager functions to compare
tokens?

 
> Another source of slow-down may be file search: Windows ignores case. 
> Linux does not -> depending on what you do, you need to search 3 times more files.

Yes, but Windows is easily 10 times slower on file stat functions.
I had to add several caches into Lazarus, because of this. Some
functions were hardly measurable under Linux, but took a minute under
Windows.
And this is completely irrelevant for loading a single file.

Mattias



More information about the fpc-devel mailing list