2022-10-11 12:17 (UTC+0000), Chengwen Feng:
> This patch adds memarea to malloc_perf_autotest.
> 
> Test platform: Kunpeng920
> Test command: dpdk-test -a 0000:7d:00.3 -l 10-12
> Test result:
> USER1: Performance: rte_memarea
> USER1:    Size (B)   Runs  Alloc (us) Free (us) Total (us)  memset (us)
> USER1:          64  10000        0.03      0.03       0.06         0.01
> USER1:         128  10000        0.02      0.03       0.05         0.01
> USER1:        1024  10000        0.03      0.05       0.07         0.20
> USER1:        4096  10000        0.03      0.05       0.07         0.34
> USER1:       65536  10000        0.10      0.08       0.18         2.14
> USER1:     1048576    644        0.10      0.04       0.14        29.07
> USER1:     2097152    322        0.10      0.04       0.14        57.50
> USER1:     4194304    161        0.12      0.04       0.15       114.50
> USER1:    16777216     40        0.11      0.04       0.15       456.09
> USER1:  1073741824 Interrupted: out of memory. [1]
> 
> Compared with rte_malloc:
> USER1: Performance: rte_malloc
> USER1:    Size (B)   Runs  Alloc (us) Free (us) Total (us)  memset (us)
> USER1:          64  10000        0.14      0.07       0.21         0.01
> USER1:         128  10000        0.10      0.05       0.15         0.01
> USER1:        1024  10000        0.11      0.18       0.29         0.21
> USER1:        4096  10000        0.13      0.39       0.53         0.35
> USER1:       65536  10000        0.17      2.27       2.44         2.15
> USER1:     1048576  10000       37.21     71.63     108.84        29.08
> USER1:     2097152  10000     8831.15    160.02    8991.17        63.52
> USER1:     4194304  10000    47131.88    413.75   47545.62       173.79
> USER1:    16777216   4221   119604.60   2209.73  121814.34       964.42
> USER1:  1073741824     31   335058.32 223369.31  558427.63     62440.87
> 
> [1] The total-size of the memarea is restricted to avoid creation
> failed.

This is not a fair comparison:
rte_malloc time includes obtaining memory from the system.
I think that memarea should have a dedicated benchmark,
because eventually it will be interesting to compare memarea
with different sources and algorithms.
It will be also possible to add DPDK allocator to the comparison
by running it for an isolated heap that doesn't grow.
(In some distant future it would be cool to make DPDK allocator pluggable!)
Some shared code between this benchmark and the new one can be factored out.

Reply via email to