Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

FastMove ?

132 views
Skip to first unread message

Jo Black

unread,
Apr 3, 2008, 9:50:23 AM4/3/08
to
Hi,

I Wonder what is the last version of FastMove.pas and where can I get it ??


Thanks in Advance :)

John O'Harrow

unread,
Apr 3, 2008, 11:58:06 AM4/3/08
to
Version 3.03 (March 2006) is still the latest version.

It can be found at http://fastcode.sourceforge.net/

--
Regards,
John

--
The Fastcode Project: http://www.fastcodeproject.org/

"Jo Black" <nom...@spam.com> wrote in message
news:47f4d20a$1...@newsgroups.borland.com...

Jo Black

unread,
Apr 3, 2008, 2:00:58 PM4/3/08
to
John O'Harrow wrote:
> Version 3.03 (March 2006) is still the latest version.
>
> It can be found at http://fastcode.sourceforge.net/
>
Thanks got it ;)

Sanyin

unread,
Apr 14, 2008, 6:19:25 AM4/14/08
to

"John O'Harrow" <jo...@elmcrest.demon.co.uk> wrote in message
news:47f4feb6$1...@newsgroups.borland.com...

> Version 3.03 (March 2006) is still the latest version.
>
> It can be found at http://fastcode.sourceforge.net/
>
> --
> Regards,
> John

When using fastmove from pointer obtained by windows memory mapping API, It
is slower than regular move (d7)...
Any reason for this?


John O'Harrow

unread,
Apr 14, 2008, 8:59:09 AM4/14/08
to
FastMove should never be slower than using the standard system move. In
fact, the system move routine uses virtually the same code as used by
FastMove (for processors that do not support MMX, SSE etc). It could be
that just adding FastMove to the project causes memory to be allocated from
a different location (not in level 1/2 cache etc), or causes another routine
to be sub-optimally aligned etc.

How much slower is it, and how are you measuring the move performance?

--
Regards,
John

--
The Fastcode Project: http://www.fastcodeproject.org/

"Sanyin" <prevo...@hotmail.com> wrote in message
news:48032fa2$1...@newsgroups.borland.com...

Sanyin

unread,
Apr 14, 2008, 9:45:24 AM4/14/08
to

"John O'Harrow" <jo...@elmcrest.demon.co.uk> wrote in message
news:48035565$1...@newsgroups.borland.com...

> FastMove should never be slower than using the standard system move. In
> fact, the system move routine uses virtually the same code as used by
> FastMove (for processors that do not support MMX, SSE etc). It could be
> that just adding FastMove to the project causes memory to be allocated
> from a different location (not in level 1/2 cache etc), or causes another
> routine to be sub-optimally aligned etc.
>
> How much slower is it, and how are you measuring the move performance?
>
i think it is 2x slower, but I'll check.
Message has been deleted

david.b...@gmail.com

unread,
Apr 1, 2014, 7:46:54 PM4/1/14
to
Hi.

Sorry to bump a 6 year old topic.

I'm a Delphi programmer.
I use Windows XP x86 + Delphi 7 and Windows 7 x86 + Delphi XE5.
CPU: AMD Athlon(tm) II x2 3.2 GHz (x86, x86-64, MMX, 3DNow!, SSE, SSE2, SSE3)
FastMove verson: 3.03

I recently found out about FastMove and I liked it right away. It's so fast...
But later I found situations when it is a lot slower than the classic Move (on my processor).

For example:

[code]var
s: AnsiString;
ab: array of Byte;

implementation

{$R *.dfm}

procedure Test;
var
i: Integer;
t: TTime;
begin
SetLength(s, 10485780);
SetLength(ab, 1048578);
t := Now;
for i := 1 to 500 do
begin
Move(s[11], s[1], 10485760);
Move(ab[2], ab[1], 1048576);
end;
t := Now - t;
ShowMessage(FormatDateTime('ss.zzz', t));
end;[/code]

On Intel processors this code is only 1.08x faster when using FastMove than the classic Move.
On my processor I get ~10 sec with FastMove and ~2.27 sec with classic Move.
This kind of memory operations I use a lot in my code when deleting/resizing items from a custom string array. I could show you the code if you want.

The original discussion about FastMove and the problem: http://www.delphipages.com/forum/showthread.php?t=216340

I hope these informations will help you track the problem easily. But, if you need more, I'm glad to help.

Regards,
David
0 new messages