mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-30 22:43:08 +03:00
Use alloc counters in memory benchmarking
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
@ -186,20 +186,27 @@ do { \
|
|||||||
#define MEMORY_MEASURE_INIT \
|
#define MEMORY_MEASURE_INIT \
|
||||||
size_t max_used, max_blocks, max_bytes; \
|
size_t max_used, max_blocks, max_bytes; \
|
||||||
size_t prv_used, prv_blocks; \
|
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_cur_get( &prv_used, &prv_blocks ); \
|
||||||
mbedtls_memory_buffer_alloc_max_reset( );
|
mbedtls_memory_buffer_alloc_max_reset( );
|
||||||
|
|
||||||
|
#define MEMORY_MEASURE_RESET \
|
||||||
|
mbedtls_memory_buffer_alloc_count_reset( );
|
||||||
|
|
||||||
#define MEMORY_MEASURE_PRINT( title_len ) \
|
#define MEMORY_MEASURE_PRINT( title_len ) \
|
||||||
mbedtls_memory_buffer_alloc_max_get( &max_used, &max_blocks ); \
|
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; \
|
ii = TITLE_SPACE > (title_len) ? TITLE_SPACE - (title_len) : 1; \
|
||||||
while( ii-- ) mbedtls_printf( " " ); \
|
while( ii-- ) mbedtls_printf( " " ); \
|
||||||
max_used -= prv_used; \
|
max_used -= prv_used; \
|
||||||
max_blocks -= prv_blocks; \
|
max_blocks -= prv_blocks; \
|
||||||
max_bytes = max_used + MEM_BLOCK_OVERHEAD * max_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
|
#else
|
||||||
#define MEMORY_MEASURE_INIT
|
#define MEMORY_MEASURE_INIT
|
||||||
|
#define MEMORY_MEASURE_RESET
|
||||||
#define MEMORY_MEASURE_PRINT( title_len )
|
#define MEMORY_MEASURE_PRINT( title_len )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -216,6 +223,7 @@ do { \
|
|||||||
ret = 0; \
|
ret = 0; \
|
||||||
for( ii = 1; ! mbedtls_timing_alarmed && ! ret ; ii++ ) \
|
for( ii = 1; ! mbedtls_timing_alarmed && ! ret ; ii++ ) \
|
||||||
{ \
|
{ \
|
||||||
|
MEMORY_MEASURE_RESET; \
|
||||||
CODE; \
|
CODE; \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
|
Reference in New Issue
Block a user