From c4055446c4e1c2cfa94ddbc94672ac1766eda68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Tue, 4 Jan 2022 10:24:01 +0100 Subject: [PATCH] Use alloc counters in memory benchmarking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Manuel Pégourié-Gonnard --- programs/test/benchmark.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/programs/test/benchmark.c b/programs/test/benchmark.c index 0ea4a08c1f..045a27b858 100644 --- a/programs/test/benchmark.c +++ b/programs/test/benchmark.c @@ -186,20 +186,27 @@ do { \ #define MEMORY_MEASURE_INIT \ size_t max_used, max_blocks, max_bytes; \ size_t prv_used, prv_blocks; \ + size_t alloc_cnt, free_cnt; \ mbedtls_memory_buffer_alloc_cur_get( &prv_used, &prv_blocks ); \ mbedtls_memory_buffer_alloc_max_reset( ); +#define MEMORY_MEASURE_RESET \ + mbedtls_memory_buffer_alloc_count_reset( ); + #define MEMORY_MEASURE_PRINT( title_len ) \ mbedtls_memory_buffer_alloc_max_get( &max_used, &max_blocks ); \ + mbedtls_memory_buffer_alloc_count_get( &alloc_cnt, &free_cnt ); \ ii = TITLE_SPACE > (title_len) ? TITLE_SPACE - (title_len) : 1; \ while( ii-- ) mbedtls_printf( " " ); \ max_used -= prv_used; \ max_blocks -= prv_blocks; \ max_bytes = max_used + MEM_BLOCK_OVERHEAD * max_blocks; \ - mbedtls_printf( "%6u heap bytes", (unsigned) max_bytes ); + mbedtls_printf( "%6u heap bytes, %6u allocs", \ + (unsigned) max_bytes, (unsigned) alloc_cnt ); #else #define MEMORY_MEASURE_INIT +#define MEMORY_MEASURE_RESET #define MEMORY_MEASURE_PRINT( title_len ) #endif @@ -216,6 +223,7 @@ do { \ ret = 0; \ for( ii = 1; ! mbedtls_timing_alarmed && ! ret ; ii++ ) \ { \ + MEMORY_MEASURE_RESET; \ CODE; \ } \ \