#1 2013-11-23 11:19:57

louis_riviera
Member
Registered: 2013-09-23
Posts: 61

FastMove

Hello!

Here is an MMX, SSE, SSE2, SSE3 optimized Move function but AFAIK it don't support x64.

Maybe possible to include in SynCommons.pas smile

http://alex.ciobanu.org/?p=39

Offline

#2 2013-11-23 18:50:32

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: FastMove

There is already such code within the unit.
Including an x64 ask version by us.

Offline

#3 2013-12-11 15:57:10

louis_riviera
Member
Registered: 2013-09-23
Posts: 61

Re: FastMove

Actually is not the same. Your supports SSE2 MAX! That one supports from MMX - SSE3. Now cpus support SSE 4.1, 4.2 etc

So not the same.

Last edited by louis_riviera (2013-12-11 16:03:43)

Offline

#4 2013-12-11 17:50:32

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: FastMove

I doubt there will be a huge difference between SSE2/SSE3/SSE4 in this case.
There is already almost no speed difference between FPU move and SSE2 move! smile

Perhaps for some border-case tests, not for real world applications.
Most of the move() operation is about a very small amount of data, where the already existing version is OK (but not for x64).

Main bottleneck will be the CPU cache, not the instruction set used.
And it will also depend on the CPU model it runs on...

Offline

#5 2013-12-13 12:24:00

louis_riviera
Member
Registered: 2013-09-23
Posts: 61

Re: FastMove

There is no need for syncommons optimized move. ScaleMM2 has added this for SSE3.

https://code.google.com/p/scalemm/sourc … n117&r=117

Last edited by louis_riviera (2013-12-13 12:24:20)

Offline

#6 2013-12-13 16:01:36

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: FastMove

No noticeable speed benefit of Sse3 for real process (like our regression or performance tests).

Benefit is possible at memory manager level - which has to move huge blocks of data - but not for common code.

Offline

#7 2013-12-14 10:27:08

louis_riviera
Member
Registered: 2013-09-23
Posts: 61

Re: FastMove

What is the license of SynCommons? I would like to extract all the low level RTL replacements and add it in to a more light unit. With your license ofcourse.

Offline

#8 2013-12-14 17:54:04

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: FastMove

See http://synopse.info/forum/viewtopic.php?pid=4467#p4467

This is also clearly stated in the framework documentation.

Enjoy!

Offline

Board footer

Powered by FluxBB