https://github.com/suvrik/allocator_benchmark
Allocator Benchmark
https://github.com/suvrik/allocator_benchmark
allocator benchmark buddy memory pool
Last synced: 11 months ago
JSON representation
Allocator Benchmark
- Host: GitHub
- URL: https://github.com/suvrik/allocator_benchmark
- Owner: suVrik
- License: mit
- Created: 2021-05-16T10:23:37.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-05-16T10:39:30.000Z (about 5 years ago)
- Last Synced: 2025-03-04T10:13:47.234Z (over 1 year ago)
- Topics: allocator, benchmark, buddy, memory, pool
- Language: C++
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Allocator Benchmark
For proper benchmark source must be compiled in release mode.
The fact that one allocator allocates faster than another doesn't necessary mean that it's better for general purpose allocations.
Each allocator has its own scope of application.
| Allocator | Size | Count | Alloc time | Dealloc time | Alloc improvment* | Dealloc improvment* |
|-|-|-|-|-|-|-|
| New+delete | 8 | 16384 | 1401400us | 377400us | 1 | 1 |
| Buddy | 8 | 16384 | 69200us | 76000us | 20.2514 | 4.96579 |
| Paged pool | 8 | 16384 | 11900us | 7800us | 117.765 | 48.3846 |
| New+delete | 16 | 8192 | 314200us | 196700us | 1 | 1 |
| Buddy | 16 | 8192 | 33900us | 36800us | 9.26844 | 5.34511 |
| Paged pool | 16 | 8192 | 5200us | 3800us | 60.4231 | 51.7632 |
| New+delete | 64 | 4096 | 229300us | 140800us | 1 | 1 |
| Buddy | 64 | 4096 | 20500us | 18500us | 11.1854 | 7.61081 |
| Paged pool | 64 | 4096 | 4200us | 1900us | 54.5952 | 74.1053 |
| New+delete | 256 | 2048 | 300200us | 112700us | 1 | 1 |
| Buddy | 256 | 2048 | 7900us | 9300us | 38 | 12.1183 |
| Paged pool | 256 | 2048 | 2100us | 1000us | 142.952 | 112.7 |
| New+delete | 1024 | 2048 | 747100us | 252400us | 1 | 1 |
| Buddy | 1024 | 2048 | 8300us | 9400us | 90.012 | 26.8511 |
| Paged pool | 1024 | 2048 | 2100us | 1000us | 355.762 | 252.4 |
| New+delete | 4096 | 1024 | 1076400us | 392400us | 1 | 1 |
| Buddy | 4096 | 1024 | 3400us | 4800us | 316.588 | 81.75 |
| Paged pool | 4096 | 1024 | 700us | 500us | 1537.71 | 784.8 |
| New+delete | 16384 | 1024 | 2314900us | 847200us | 1 | 1 |
| Buddy | 16384 | 1024 | 4000us | 4900us | 578.725 | 172.898 |
| Paged pool | 16384 | 1024 | 800us | 600us | 2893.62 | 1412 |
| New+delete | 65536 | 512 | 1415900us | 836000us | 1 | 1 |
| Buddy | 65536 | 512 | 2000us | 2400us | 707.95 | 348.333 |
| Paged pool | 65536 | 512 | 600us | 300us | 2359.83 | 2786.67 |
| New+delete | 262144 | 512 | 1743100us | 1647400us | 1 | 1 |
| Buddy | 262144 | 512 | 2000us | 2500us | 871.55 | 658.96 |
| Paged pool | 262144 | 512 | 500us | 300us | 3486.2 | 5491.33 |
| New+delete | 1048576 | 256 | 1237200us | 1008100us | 1 | 1 |
| Buddy | 1048576 | 256 | 1300us | 1300us | 951.692 | 775.462 |
| Paged pool | 1048576 | 256 | 200us | 200us | 6186 | 5040.5 |
| New+delete | 4194304 | 256 | 1268900us | 948800us | 1 | 1 |
| Buddy | 4194304 | 256 | 1200us | 1400us | 1057.42 | 677.714 |
| Paged pool | 4194304 | 256 | 300us | 100us | 4229.67 | 9488 |
*\* over new+delete of the same size and count.*