Skip to content

Benchmarks

This section summarizes the stress test reports captured in docs/reports and provides the raw logs for reference.

How to run

Windows

@echo off

"%1/sample/Release/sample_benchmark_coroutine_mem_pool.exe" 10000 1000 200 >> "%2"
"%1/sample/Release/sample_benchmark_coroutine_mem_pool.exe" 1000 1000 2048 >> "%2"
echo\  >> "%2"

"%1/sample/Release/sample_benchmark_coroutine.exe" 10000 1000 200 >> "%2"
"%1/sample/Release/sample_benchmark_coroutine.exe" 1000 1000 2048 >> "%2"
echo\  >> "%2"

"%1/sample/Release/sample_benchmark_coroutine_malloc.exe" 10000 1000 200 >> "%2"
"%1/sample/Release/sample_benchmark_coroutine_malloc.exe" 1000 1000 2048 >> "%2"
echo\  >> "%2"

"%1/sample/Release/sample_benchmark_task_mem_pool.exe" 10000 1000 200 >> "%2"
"%1/sample/Release/sample_benchmark_task_mem_pool.exe" 1000 1000 2048 >> "%2"
echo\  >> "%2"

"%1/sample/Release/sample_benchmark_task.exe" 10000 1000 200 >> "%2"
"%1/sample/Release/sample_benchmark_task.exe" 1000 1000 2048 >> "%2"
echo\  >> "%2"

"%1/sample/Release/sample_benchmark_task_malloc.exe" 10000 1000 200 >> "%2"
"%1/sample/Release/sample_benchmark_task_malloc.exe" 1000 1000 2048 >> "%2"
echo\  >> "%2"

Linux

#!/bin/sh

if [ $# -lt 2 ]; then
    echo "usage: $0 <build dir> <report file>";
    exit -1;
fi

"$1"/sample/sample_benchmark_coroutine_mem_pool 10000 1000 200 >> "$2";
"$1"/sample/sample_benchmark_coroutine_mem_pool 1000 1000 2048 >> "$2";
echo "" >> "$2";

"$1"/sample/sample_benchmark_coroutine 10000 1000 200 >> "$2";
"$1"/sample/sample_benchmark_coroutine 1000 1000 2048 >> "$2";
echo "" >> "$2";

"$1"/sample/sample_benchmark_coroutine_malloc 10000 1000 200 >> "$2";
"$1"/sample/sample_benchmark_coroutine_malloc 1000 1000 2048 >> "$2";
echo "" >> "$2";

"$1"/sample/sample_benchmark_task_mem_pool 10000 1000 200 >> "$2";
"$1"/sample/sample_benchmark_task_mem_pool 1000 1000 2048 >> "$2";
echo "" >> "$2";

"$1"/sample/sample_benchmark_task 10000 1000 200 >> "$2";
"$1"/sample/sample_benchmark_task 1000 1000 2048 >> "$2";
echo "" >> "$2";

"$1"/sample/sample_benchmark_task_malloc 10000 1000 200 >> "$2";
"$1"/sample/sample_benchmark_task_malloc 1000 1000 2048 >> "$2";
echo "" >> "$2";

Summary

  • Each report measures allocate/create/switch/remove cycles for coroutine contexts and tasks with different stack allocators.
  • Use the raw logs below for precise numbers and environment details.