From 4ab32aed0c4de2a1c0c2f4aac23e9769ce1436ca Mon Sep 17 00:00:00 2001 From: Dmitry Simonenko Date: Thu, 18 May 2017 12:50:55 +0300 Subject: [PATCH] machinarium: update context switch benchmark --- examples/benchmark.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/examples/benchmark.c b/examples/benchmark.c index 9655357f..5d2c2db3 100644 --- a/examples/benchmark.c +++ b/examples/benchmark.c @@ -17,11 +17,10 @@ static int csw = 0; static void benchmark_worker(void *arg) { - machine_t machine = arg; printf("worker started.\n"); - while (machine_active(machine)) { + while (machine_active()) { csw++; - machine_sleep(machine, 0); + machine_sleep(0); } printf("worker done.\n"); } @@ -29,21 +28,20 @@ benchmark_worker(void *arg) static void benchmark_runner(void *arg) { - machine_t machine = arg; printf("benchmark started.\n"); - machine_create_fiber(machine, benchmark_worker, machine); - machine_sleep(machine, 1000); + machine_create_fiber(benchmark_worker, NULL); + machine_sleep(1000); printf("done.\n"); printf("context switches %d in 1 sec.\n", csw); - machine_stop(machine); + machine_stop(); } int main(int argc, char *argv[]) { - machine_t machine = machine_create(); - machine_create_fiber(machine, benchmark_runner, machine); - machine_start(machine); - machine_free(machine); + machinarium_init(); + int id = machine_create("benchmark", benchmark_runner, NULL); + machine_join(id); + machinarium_free(); return 0; }