Re: Help not working for Delphi Win32 projects



Jon Robertson wrote:

What was slow that is now faster?

For example the Move(), FillChar(), CompareText, CompareStr, ... functions
are replaced by FastCode code. Especially Move() uses SSE, MMX or i386
code depending on the CPU.

The FileExists() function is very slow because it uses FileAge what itself
uses FindFirstFile. But GetFileAttributes() is a lot faster than
FindFirstFile and has the same effect.

The IDE uses SetCurrentDir() a lot. But the calls look like this:

Other function calls...
SetCurrentDir('C:\DelphiProj\');
SetCurrentDir('C:\DelphiProj');
SetCurrentDir('C:\DelphiProj\');
SetCurrentDir('C:\DelphiProj');
SetCurrentDir('C:\DelphiProj\');
.... (about 10 times more)
Other function calls
SetCurrentDir('C:\DelphiProj\Test');
SetCurrentDir('C:\DelphiProj\Test\');
SetCurrentDir('C:\DelphiProj\Test');
SetCurrentDir('C:\DelphiProj\Test\');
SetCurrentDir('C:\Delphi\Proj\Test');
....

The DelphiSpeedUp simply removes the tailing backslash and compares it to
the old value.


The new ExpandFileName() uses a hash table that is cleared after a
(different) SetCurrentDir/SetCurrentDirecoryA/W call.

And some more function.

--
Regards,

Andreas Hausladen
.