From 0711d4c1d6afb41ca31afbf8bd6253921d57eeb4 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Fri, 18 Feb 2022 14:45:05 +0100 Subject: perf(common): Optimize TimerScheduler This change updates the TimerScheduler implementation to directly use the Delay object instead of running the timers inside a coroutine. Constructing the coroutine is more expensive, so we prefer running in a Runnable. --- .../kotlin/org/opendc/experiments/tf20/network/NetworkController.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'opendc-experiments') diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkController.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkController.kt index 9771cc20..7d65a674 100644 --- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkController.kt +++ b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkController.kt @@ -23,7 +23,7 @@ package org.opendc.experiments.tf20.network import kotlinx.coroutines.channels.Channel -import org.opendc.utils.TimerScheduler +import org.opendc.common.util.TimerScheduler import java.time.Clock import kotlin.coroutines.CoroutineContext @@ -89,6 +89,6 @@ public class NetworkController(context: CoroutineContext, clock: Clock) : AutoCl * Stop the network controller. */ override fun close() { - scheduler.close() + scheduler.cancelAll() } } -- cgit v1.2.3