Skip to main content

RAM memory benchmark.

Project description

RAM Benchmark

Simple RAM benchmark for Linux.

Package version Package version

Simple RAM Benchmark

This is a simple RAM benchmark written in C++. It allows checking approximate RAM speed. The code creates a 1 GiB (1024*1024*1024 bytes) buffer, fills it with zeroes, scans the buffer, and measure the time.

Note: This is only experimental code written to check the RAM speed on Linux. There are probably better tools for memory analysis available like memtest86.

Requirements

  • Unix/Linux OS (can be easily ported to Windows)
  • g++ compiler compatible with OpenMP (for multi-threaded variant)
  • at least 1 GB free RAM (for buffer)

Install and run using pip

To execute the benchmark, you only have to meet the requirements and run the below commands:

pip install rambenchmark
rambenchmark

Compile and run manually

If you prefer to compile and execute the code manually, you can do that by running the following commands:

git clone git@github.com:rsusik/rambenchmark.git
cd rambenchmark/rambenchmark
g++ -O3 -std=c++11 -fopenmp -o rambench ./rambench.cpp
./rambench

Tests

The benchmark uses two functions for tests:

  1. memset()
  2. memchr()

Output

The benchmark produces below example output:

======================================================================
BENCHMARKING RAM WITH MULTI THREADS
(...please wait...)

4 concurrent threads are supported.

----------------------------------------------------------------------
MEMSET TEST

RESULT of filling 1GiB buffer with zeros.
>>> 0.0654 (s) / 16415.2 (MB/s) <<<

                   Details
  #Threads        Time (s)      Speed (MB/s)
         1      0.0654 (s)    16415.2 (MB/s)
         2      0.0663 (s)    16189.3 (MB/s)
         3      0.0708 (s)    15161.6 (MB/s)
         4      0.0750 (s)    14299.5 (MB/s)

----------------------------------------------------------------------
MEMCHR TEST

RESULT of scanning 1GiB buffer.
>>> 0.0776 (s) / 13820.1 (MB/s) <<<

                   Details
  #Threads        Time (s)      Speed (MB/s)
         1      0.1686 (s)     6365.2 (MB/s)
         2      0.0985 (s)    10893.6 (MB/s)
         3      0.0874 (s)    12281.8 (MB/s)
         4      0.0776 (s)    13820.1 (MB/s)

======================================================================

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rambenchmark-1.3.tar.gz (5.2 kB view hashes)

Uploaded Source

Built Distribution

rambenchmark-1.3-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (138.5 kB view hashes)

Uploaded CPython 3.5+ manylinux: glibc 2.5+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page