Hangar.La tienda de software del Amiga

CMQ030

Patch CopyMem/Quick for 68030 v1.1

Short:        Patch CopyMem/Quick for 68030 v1.1
Author:       dbusse@primus-online.de (Dirk Busse)
Uploader:     dbusse primus-online de (Dirk Busse)
Type:         util/boot
Requires:     At least a 68020 CPU
Architecture: m68k-amigaos

Description:
   This is a small patch which replace the CopyMem and CopyMemQuick
   functions of exec.library.

   These functions are optimized for the 68030 processor. They should
   also work with the 68020/040/060 processors.
   The patch tests for a 68020 or higher processor. If it can't find one,
   it doesn't install the patch and exits with a return code of 20 (=fail).
   It also fails, if it can't allocate the necessary memory.

   In some cases these new functions are four times faster than the
   original functions.

Installation:
   Just copy CMQ030 into c:
   And insert CMQ030 in your s:Startup-Sequence

The source code is also in the archive.

Author:
   Dirk Busse
   Kropsburgstraße 8
   D-67141 Neuhofen
   Germany
   <dbusse@primus-online.de>
   <100.141999@germanynet.de>

Speed comparision:
   There are already some similar patches available on the Aminet:
      CopyMemQuicker V2.8 from 1994 -> Aminet:util/boot/COPMQR28.lha
      PCM V1.0            from 1996 -> Aminet:util/boot/PCM_1.0.lha
      CMQ060              from 1998 -> Aminet:util/boot/CMQ060.lha
      Also MCP could patch these functions.

   CopyMemQuicker is optimized for a 68000,010 and 020 processor.

   PCM and CMQ060 are optimized for the 68040 and 060 processors
   and are working only with this prozessors.

   MCP V1.32b12 is on some cases faster than CopyMemQuicker V2.8,
   but on small moves it is very slow.

   And now there is CMQ030, the fastest of all.

Here are some test results. All results are measured on the same
AMIGA 2000 with a GVP Impact 68030 Processor Expansion with
4MByte 32-bit Fast Ram and clocked with 28.322000 MHz.

TestIt from                                                                 
CopyMemQuicker
V2.8               original   CopyMemQuicker    MCP   CMQ030
                 Kickstart3.1      V2.8      V1.32b12  V1.0
CopyMem            routines
282×64kB L->L        1.87          1.85        1.87    1.55
73×64kB L->L+1       2.13          1.06        0.63    0.43
206×64kB L->E        1.79          1.79        1.81    1.27
73×64kB L->E+1       2.13          1.09        0.63    0.43
73×64kB L+1->L       2.13          1.07        0.53    0.49
191×64kB L+1->L+1    1.83          1.25        1.81    1.05
73×64kB L+1->E       2.13          1.07        0.69    0.43
250×64kB L+1->E+1    1.85          1.81        2.39    1.51
250×64kB E->L        1.85          1.81        1.87    1.67
73×64kB E->L+1       2.13          1.07        0.69    0.49
191×64kB E->E        1.83          1.25        1.80    1.05
73×64kB E->E+1       2.13          1.07        0.69    0.43
73×64kB E+1->L       2.11          1.07        0.53    0.49
206×64kB E+1->L+1    1.79          1.79        1.95    1.39
73×64kB E+1->E       2.13          1.07        0.69    0.46
282×64kB E+1->E+1    1.87          1.85        2.69    1.57
16950×1kB L->L       1.91          1.88        1.93    1.49
4700×1kB L->L+1      2.15          1.13        0.66    0.49
12000×1kB E->E       1.90          1.32        1.90    1.12
98000×128B L->L      2.01          1.84        2.21    1.17
77500×128B E->E      1.95          1.43        2.13    1.43
294000×19B L->L      2.23          1.58        3.19    1.24
311000×18B L->L      2.23          1.58        3.24    1.25
331500×17B L->L      2.23          1.70        3.31    1.37
478000×16B L->L      2.53          2.26        4.51    1.86
530000×8B L->L       2.31          1.90        3.19    1.37
715000×4B L->L       1.91          1.35        2.99    1.49
1095000×1B L->L      1.53          0.66        3.22    0.42
CopyMemQuick
282×64kB L->L        1.87          1.75        1.89    1.55
16950×1kB L->L       1.87          1.84        1.91    1.47
98000×128B L->L      1.84          1.63        2.16    1.11
478000×16B L->L      1.66          1.30        2.85    1.12
530000×8B L->L       1.29          0.84        2.63    0.57
715000×4B L->L       1.45          0.85        3.15    0.43
                                                                            
History:
   1.0 (29.Nov.1998)
       - First public version.
   1.1 ( 5.Jan.1999)
       All changes made to this version doesn't effect the speed. They
       are only to avoid problems with future versions of AMIGA OS.
       - changed the version string to the standard format
       - changed BMI to BCS and BPL to BCC
         -> now CMQ030 could move blocks bigger than 2 GigaByte ;-)

Gratis

Descargar 3 KB

Desde el Amiga: abre Hangar y busca CMQ030.

Autordbusse@primus-online.de (Dirk Busse)
Categoríautil/boot
Tamaño3 KB
Param68k-amigaos
NecesitaAt least a 68020 CPU
OrigenAminet