Skip to content

Instantly share code, notes, and snippets.

@Amanieu
Created May 27, 2016 16:55
Show Gist options
  • Save Amanieu/6a4b4151b89b78224992106f9bc4374f to your computer and use it in GitHub Desktop.
Save Amanieu/6a4b4151b89b78224992106f9bc4374f to your computer and use it in GitHub Desktop.
parking_lot benchmark results on x86_64 Linux
- Running with 1 threads
- 1 iterations inside lock, 0 iterations outside lock
- 1 seconds per test
parking_lot::Mutex - 55070.265 kHz
std::sync::Mutex - 41046.788 kHz
pthread_mutex_t - 42379.765 kHz
- Running with 2 threads
parking_lot::Mutex - 51957.167 kHz
std::sync::Mutex - 14006.237 kHz
pthread_mutex_t - 11683.600 kHz
- Running with 3 threads
parking_lot::Mutex - 50515.118 kHz
std::sync::Mutex - 14315.902 kHz
pthread_mutex_t - 12246.160 kHz
- Running with 4 threads
parking_lot::Mutex - 49718.022 kHz
std::sync::Mutex - 9873.393 kHz
pthread_mutex_t - 10109.491 kHz
- Running with 5 threads
parking_lot::Mutex - 50205.852 kHz
std::sync::Mutex - 8958.866 kHz
pthread_mutex_t - 9628.644 kHz
- Running with 6 threads
parking_lot::Mutex - 50380.916 kHz
std::sync::Mutex - 8029.635 kHz
pthread_mutex_t - 9675.441 kHz
- Running with 7 threads
parking_lot::Mutex - 50516.848 kHz
std::sync::Mutex - 8390.899 kHz
pthread_mutex_t - 9418.233 kHz
- Running with 8 threads
parking_lot::Mutex - 50500.626 kHz
std::sync::Mutex - 8304.549 kHz
pthread_mutex_t - 9390.071 kHz
- Running with 0 writer threads and 1 reader threads
- 1 iterations inside lock, 0 iterations outside lock
- 1 seconds per test
parking_lot::RwLock - [write] 0.000 kHz [read] 43083.949 kHz
std::sync::RwLock - [write] 0.000 kHz [read] 42111.057 kHz
pthread_rwlock_t - [write] 0.000 kHz [read] 43846.170 kHz
- Running with 0 writer threads and 2 reader threads
parking_lot::RwLock - [write] 0.000 kHz [read] 74443.873 kHz
std::sync::RwLock - [write] 0.000 kHz [read] 79298.413 kHz
pthread_rwlock_t - [write] 0.000 kHz [read] 80696.311 kHz
- Running with 0 writer threads and 3 reader threads
parking_lot::RwLock - [write] 0.000 kHz [read] 110381.307 kHz
std::sync::RwLock - [write] 0.000 kHz [read] 111939.185 kHz
pthread_rwlock_t - [write] 0.000 kHz [read] 117324.698 kHz
- Running with 0 writer threads and 4 reader threads
parking_lot::RwLock - [write] 0.000 kHz [read] 145064.619 kHz
std::sync::RwLock - [write] 0.000 kHz [read] 74118.044 kHz
pthread_rwlock_t - [write] 0.000 kHz [read] 144736.145 kHz
- Running with 1 writer threads and 0 reader threads
parking_lot::RwLock - [write] 51372.514 kHz [read] 0.000 kHz
std::sync::RwLock - [write] 40466.060 kHz [read] 0.000 kHz
pthread_rwlock_t - [write] 44406.236 kHz [read] 0.000 kHz
- Running with 1 writer threads and 1 reader threads
parking_lot::RwLock - [write] 51664.406 kHz [read] 108.186 kHz
std::sync::RwLock - [write] 2616.577 kHz [read] 3120.753 kHz
pthread_rwlock_t - [write] 3535.037 kHz [read] 3446.312 kHz
- Running with 1 writer threads and 2 reader threads
parking_lot::RwLock - [write] 40281.947 kHz [read] 6129.582 kHz
std::sync::RwLock - [write] 1197.593 kHz [read] 14912.610 kHz
pthread_rwlock_t - [write] 3351.071 kHz [read] 9375.122 kHz
- Running with 1 writer threads and 3 reader threads
parking_lot::RwLock - [write] 39239.020 kHz [read] 5755.212 kHz
std::sync::RwLock - [write] 394.122 kHz [read] 10694.356 kHz
pthread_rwlock_t - [write] 1452.330 kHz [read] 9571.500 kHz
- Running with 1 writer threads and 4 reader threads
parking_lot::RwLock - [write] 30227.224 kHz [read] 11666.000 kHz
std::sync::RwLock - [write] 141.128 kHz [read] 5992.002 kHz
pthread_rwlock_t - [write] 970.526 kHz [read] 7723.224 kHz
- Running with 2 writer threads and 0 reader threads
parking_lot::RwLock - [write] 50800.323 kHz [read] 0.000 kHz
std::sync::RwLock - [write] 7201.788 kHz [read] 0.000 kHz
pthread_rwlock_t - [write] 5348.548 kHz [read] 0.000 kHz
- Running with 2 writer threads and 1 reader threads
parking_lot::RwLock - [write] 48340.452 kHz [read] 1494.627 kHz
std::sync::RwLock - [write] 8480.953 kHz [read] 1182.511 kHz
pthread_rwlock_t - [write] 5139.523 kHz [read] 2937.358 kHz
- Running with 2 writer threads and 2 reader threads
parking_lot::RwLock - [write] 47610.057 kHz [read] 859.040 kHz
std::sync::RwLock - [write] 5306.263 kHz [read] 3433.591 kHz
pthread_rwlock_t - [write] 2328.171 kHz [read] 3405.941 kHz
- Running with 2 writer threads and 3 reader threads
parking_lot::RwLock - [write] 39454.095 kHz [read] 5271.075 kHz
std::sync::RwLock - [write] 3006.345 kHz [read] 8266.378 kHz
pthread_rwlock_t - [write] 1697.429 kHz [read] 3678.610 kHz
- Running with 2 writer threads and 4 reader threads
parking_lot::RwLock - [write] 27027.698 kHz [read] 12671.774 kHz
std::sync::RwLock - [write] 596.325 kHz [read] 4621.834 kHz
pthread_rwlock_t - [write] 1196.963 kHz [read] 3732.577 kHz
- Running with 3 writer threads and 0 reader threads
parking_lot::RwLock - [write] 50447.308 kHz [read] 0.000 kHz
std::sync::RwLock - [write] 6960.216 kHz [read] 0.000 kHz
pthread_rwlock_t - [write] 7365.177 kHz [read] 0.000 kHz
- Running with 3 writer threads and 1 reader threads
parking_lot::RwLock - [write] 46971.187 kHz [read] 999.784 kHz
std::sync::RwLock - [write] 5716.648 kHz [read] 387.862 kHz
pthread_rwlock_t - [write] 3459.746 kHz [read] 1261.248 kHz
- Running with 3 writer threads and 2 reader threads
parking_lot::RwLock - [write] 45409.585 kHz [read] 1959.704 kHz
std::sync::RwLock - [write] 3722.241 kHz [read] 1331.160 kHz
pthread_rwlock_t - [write] 2381.306 kHz [read] 1867.789 kHz
- Running with 3 writer threads and 3 reader threads
parking_lot::RwLock - [write] 39099.391 kHz [read] 5349.735 kHz
std::sync::RwLock - [write] 2254.920 kHz [read] 3386.613 kHz
pthread_rwlock_t - [write] 1973.911 kHz [read] 2188.815 kHz
- Running with 3 writer threads and 4 reader threads
parking_lot::RwLock - [write] 25374.789 kHz [read] 13401.536 kHz
std::sync::RwLock - [write] 847.553 kHz [read] 4052.542 kHz
pthread_rwlock_t - [write] 1354.542 kHz [read] 2370.069 kHz
- Running with 4 writer threads and 0 reader threads
parking_lot::RwLock - [write] 49237.366 kHz [read] 0.000 kHz
std::sync::RwLock - [write] 4178.918 kHz [read] 0.000 kHz
pthread_rwlock_t - [write] 4441.625 kHz [read] 0.000 kHz
- Running with 4 writer threads and 1 reader threads
parking_lot::RwLock - [write] 48305.590 kHz [read] 741.602 kHz
std::sync::RwLock - [write] 3693.048 kHz [read] 67.798 kHz
pthread_rwlock_t - [write] 3290.256 kHz [read] 842.595 kHz
- Running with 4 writer threads and 2 reader threads
parking_lot::RwLock - [write] 43710.744 kHz [read] 2909.487 kHz
std::sync::RwLock - [write] 3227.704 kHz [read] 477.575 kHz
pthread_rwlock_t - [write] 2259.993 kHz [read] 1320.805 kHz
- Running with 4 writer threads and 3 reader threads
parking_lot::RwLock - [write] 35135.227 kHz [read] 7490.817 kHz
std::sync::RwLock - [write] 2683.757 kHz [read] 1239.788 kHz
pthread_rwlock_t - [write] 1773.057 kHz [read] 1559.028 kHz
- Running with 4 writer threads and 4 reader threads
parking_lot::RwLock - [write] 25543.539 kHz [read] 12446.285 kHz
std::sync::RwLock - [write] 1477.199 kHz [read] 2706.616 kHz
pthread_rwlock_t - [write] 1426.058 kHz [read] 1715.724 kHz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment