banner

AmorphousMemoryMark icon

Amorphous
MemoryMark 1.0

Download
  • Date: January 22, 2020
  • OS: macOS 10.8.5 or later
  • License: Free
Mac App Store logo
mac logo

AmorphousMemoryMark measures memory read/write performance in GB/s.

  • Sequential 128 KiB block read/write tests with Threads=1, 2, 4, 8, 16, 32, or 64
  • Random sequence 4 KiB block read/write tests with Threads=1, 2, 4, 8, 16, 32, or 64
  • Sequential 1 MiB block read/write tests
  • Random sequence 4 KiB block read/write tests
  • Read/write GB/s scores
  • Test data: random or zero. This only applies to the read measurement. The write measurement always uses zeros.
  • Test size: 128 MiB, 256 MiB, 512 MiB, 1 GiB, 2 GiB, 4 GiB, 8 GiB, 16 GiB, 32 GiB, or 64 GiB
  • Test interval: 0 seconds, ..., 10 seconds

GB/s: gigabytes per second: 1,000,000,000 bytes per second

KiB: Kibibytes: 1,024 bytes

MiB: Mebibytes: 1,024 x 1,024 bytes: 1,048,576 bytes

GiB: Gibibytes: 1,024 x 1,024 x 1,024 bytes: 1,073,741,824 bytes


Visit AmorphousMemoryMark Forum.


Instructions:

  • Click the “All” button.
  • When the test is finished, press command - S to save a screenshot of the AmorphousMemoryMark window.
  • Write an Amazon review of your memory module, and attach the screenshot if you like.

Technical Details:

  • memmove()/bzero(): Executes the macOS provided memmove() function which reads from memory and write to memory for the read measurement, and the macOS provided bzero() function which writes zeros to memory for the write measurement. Both functions are optimized for each CPU architecture.
  • rep movsb/stosb: Executes the "rep movsb" instruction which repeats a read-from-memory-write-to-memory operation, and the "rep stosb" instruction which repeats a write-to-memory operation. Both instructions are optimized on some CPU architectures with the Enhanced REP MOVSB and STOSB (ERMS) feature.
  • temporal load/store: Executes the temporal load instruction which reads from memory through the memory cache, and the temporal store instruction which writes to memory through the memory cache.
  • non-temporal load/store: Executes the non-temporal load instruction which reads from memory without going through the memory cache, and the non-temporal store instruction which writes to memory without going through the memory cache.

Measurement result examples are available in the forum.


A permission was given by the author of CrystalDiskMark to use the identical or similar user interface in this app.

amorphousdiskmark screenshot
AmorphousMemoryMark screenshot


amorphousdiskmark saved score image
AmorphousMemoryMark saved score image


amorphousdiskmark saved score image
AmorphousMemoryMark memory module text field tooltip


amorphousdiskmark saved score image
AmorphousMemoryMark read/write result tooltip
-----------------------------------------------------------------------
AmorphousMemoryMark 1.0 (C) 2019-2020 Katsura Shareware
                       Katsura Shareware : http://katsurashareware.com/
-----------------------------------------------------------------------
* GB/s = 1,000,000,000 bytes per second
* MB = 1,000,000 bytes, MiB = 1,024 x 1,024 bytes
* KB = 1,000 bytes, KiB = 1,024 bytes

  Sequential Read 128KiB (T= 8) :   18.95 GB/s (memmove)
 Sequential Write 128KiB (T= 8) :   23.79 GB/s (bzero)
        Random Read 4KiB (T= 8) :   20.04 GB/s (memmove)
       Random Write 4KiB (T= 8) :   11.09 GB/s (bzero)
     Sequential Read 1MiB (T=1) :   10.06 GB/s (memmove)
    Sequential Write 1MiB (T=1) :   16.37 GB/s (bzero)
         Random Read 4KiB (T=1) :   10.33 GB/s (memmove)
        Random Write 4KiB (T=1) :    7.85 GB/s (bzero)

  Sequential Read 128KiB (T= 8) :   19.09 GB/s (rep movsb)
 Sequential Write 128KiB (T= 8) :   23.88 GB/s (rep stosb)
        Random Read 4KiB (T= 8) :   19.99 GB/s (rep movsb)
       Random Write 4KiB (T= 8) :   23.08 GB/s (rep stosb)
     Sequential Read 1MiB (T=1) :   10.34 GB/s (rep movsb)
    Sequential Write 1MiB (T=1) :   16.58 GB/s (rep stosb)
         Random Read 4KiB (T=1) :   10.06 GB/s (rep movsb)
        Random Write 4KiB (T=1) :   11.25 GB/s (rep stosb)

  Sequential Read 128KiB (T= 8) :   19.99 GB/s (temporal)
 Sequential Write 128KiB (T= 8) :   10.97 GB/s (temporal)
        Random Read 4KiB (T= 8) :   19.81 GB/s (temporal)
       Random Write 4KiB (T= 8) :   11.22 GB/s (temporal)
     Sequential Read 1MiB (T=1) :   14.28 GB/s (temporal)
    Sequential Write 1MiB (T=1) :    8.71 GB/s (temporal)
         Random Read 4KiB (T=1) :   10.43 GB/s (temporal)
        Random Write 4KiB (T=1) :    7.90 GB/s (temporal)

  Sequential Read 128KiB (T= 8) :   19.96 GB/s (non-temporal)
 Sequential Write 128KiB (T= 8) :   22.12 GB/s (non-temporal)
        Random Read 4KiB (T= 8) :   20.21 GB/s (non-temporal)
       Random Write 4KiB (T= 8) :   22.30 GB/s (non-temporal)
     Sequential Read 1MiB (T=1) :   14.07 GB/s (non-temporal)
    Sequential Write 1MiB (T=1) :   19.27 GB/s (non-temporal)
         Random Read 4KiB (T=1) :   10.30 GB/s (non-temporal)
        Random Write 4KiB (T=1) :   14.90 GB/s (non-temporal)

    Test : 512 MiB  (x5)  [Interval=0 sec]
  Device : DDR3-1600 SK Hynix HMT41GS6AFR8A-PB
    Date : 2020-01-22T17:09:37Z
      OS : macOS 10.14.6 18G1012
You can also copy/paste the measurements in text.
1x4GB png 1x4GB png
1x4GB (one-channel) vs. 2x4GB (two-channel) on Macmini5,1

Copyright © 2020 Katsura Shareware. All rights reserved.