RAM memory benchmark.
Project description
Simple RAM benchmark for Linux.
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:
- memset()
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rambenchmark-1.3.tar.gz
.
File metadata
- Download URL: rambenchmark-1.3.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60a57c90384408b0d2bf7fe58ab1711ba0c3e9b7a1736bb048614ab9fe3eea14 |
|
MD5 | ae56b5c080d18910c829c9eccbf50d2b |
|
BLAKE2b-256 | 63177d1fbadff2c63882bc939243de67b86750e299414458fcda4b431bac64a7 |
File details
Details for the file rambenchmark-1.3-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
.
File metadata
- Download URL: rambenchmark-1.3-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
- Upload date:
- Size: 138.5 kB
- Tags: CPython 3.5+, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dd590d485e2734917f14104a6d17cdbe838fd1374d521f5f801b7d0341af309 |
|
MD5 | 492bec3e989a51985af0b5a624249e09 |
|
BLAKE2b-256 | 9ce0cd62e31a49701b0151f8c567663564b341d20f09ee473b1c7bc0975ddc69 |