Copymem Quick & Big Released!

SpeedGeek

Member
AmiBayer
Joined
Jan 21, 2011
Posts
934
Country
USA
Region
Wisconsin
CopyMem Quick & Big v1.6
Parts of patch install code by Dirk Busse 1999
Enhanced patch code by SpeedGeek 2015

INTRODUCTION:
CMQ&B is a big and faster Copymem + Copymemquick patch.
It's main goal is to give the fastest possible results with Testit
from COPMQR28. In order to obtain these fast results
CMQ&B must have the redundant and bloated code needed
to handle many "Worst Case" copies.

FEATURES:
- Installs one of the fastest CMQ patches for 68020+ Amigas
- Safely exits if the patch is already installed (e.g. a good patch
program should really avoid patching itself)

REQUIREMENTS:
- Amiga with 68020+

NOTES:
CMQ&B is an extension of CMQ&S. It has some extra code to
handle many small and misaligned copies. There are trade offs in
supporting these "Worst Case" copies. Specifically, The Best Case
performance has been reduced and the size of the patch has
increased to 184 bytes.

*********************************************************
CopyMem Quick & Big040 v1.8
Parts of patch install code by Dirk Busse 1999
Enhanced patch code by SpeedGeek 2015

INTRODUCTION:
CMQ&B040 is a big and faster Copymem + Copymemquick patch.
It's main goal is to give the fastest possible results with Testit
from COPMQR28. In order to obtain these fast results
CMQ&B040 must have the redundant and bloated code needed
to handle many "Worst Case" copies.

FEATURES:
- Automatically installs one of the fastest CMQ patches for 040+
- Uses Move16 address unrestricted code (See NOTES)
- New 1024-8192 byte Block Size Versions allow you to "Tune" the
MoveL vs. Move16 performance of your system
- Safely exits if the patch is already installed (e.g. a good patch
program should really avoid patching itself)

REQUIREMENTS:
- Amiga with 68040+
- Move16 is only supported only if the Source and Destination
address' have equal offsets. Also, it's only enabled for the
Block Size version you installed (1024-8192 bytes).

NOTES:
CMQ&B040 is an extension of CMQ&S040. It has some extra code to
handle many small and misaligned copies. There are trade offs in
supporting these "Worst Case" copies. Specifically, The Best Case
performance has been reduced and the size of the patch has
increased to 332 bytes. One additional benefit of the bloated code
is that CMQ&B040 now supports Move16 on word and byte offsets.
Unfortunately, these word and byte offsets will significantly reduce the
chances of meeting the source and destination alignment requirement
to enable Move16 (For more info about Move16 address unrestricted
code see the CMQ&S040 txt).

Here is the link:

http://eab.abime.net/showthread.php?t=76777
 
Last edited:

ColourWheel64

New member
Banned
Joined
Feb 10, 2011
Posts
1,755
Country
none
Region
none
I may be missing something here, but wouldn't the new versions of copymem be preferred if they took less time than the old ones?

They always seem to take longer in the tests listed above.
 
Last edited by a moderator:

SpeedGeek

Member
AmiBayer
Joined
Jan 21, 2011
Posts
934
Country
USA
Region
Wisconsin
@ColourWheel64

Testit always compares the old Copymem + Copymemquick routines against the new routines from Copymemquicker2.8. So the "Old" results are the results the CMQ patch installed before Copymemquicker2.8 (or the original routines if no CMQ patch was installed). If you read the results carefully you will see the "Old" results are much faster than the "New" results. ;)
 
Last edited:

SpeedGeek

Member
AmiBayer
Joined
Jan 21, 2011
Posts
934
Country
USA
Region
Wisconsin
** NEWS UPDATE **

CMQ&B040 v1.8 released

v1.8 minor change
- removed obsolete Copymemquick source address compare code
 

SpeedGeek

Member
AmiBayer
Joined
Jan 21, 2011
Posts
934
Country
USA
Region
Wisconsin
** 2ND NEWS UPDATE **

CMQ&B040 1.9 released!

-v1.9 New smart buffer copy code provides a BIG SPEED UP
since the MOVE16 alignment restrictions are well handled!
(See new Testit results on EAB).
 
Last edited:

SpeedGeek

Member
AmiBayer
Joined
Jan 21, 2011
Posts
934
Country
USA
Region
Wisconsin
** 3RD NEWS UPDATE **

CMQ&B040 2.0 released!

v2.0 Fixed a seldom occuring but serious bug with internal Smart
buffer usage.
- Nested call large block copies (WHEN MISALIGNED!) could corrupt
each others data when sharing the same buffer. This fix uses a stack
based buffer solution which results in a private buffer for each call.
 
Top Bottom