diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-04-06 16:36:49 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-04-06 16:49:53 +0200 |
| commit | 02864ba50fafffd19bb1b635eea06004d9fd78aa (patch) | |
| tree | 5ed6de9f907d493d841951fe9b8fb611616c1b43 /opendc/opendc-experiments-sc20/src/main | |
| parent | 6fc21e6df6345c6ec029cc50674352949af83510 (diff) | |
perf: Optimize SimpleVirtDriver
This change optimizes the SimpleVirtDriver by removing unnecessary
cancellations (which take a lot of time due to exception construction).
Moreover, we now try to keep intermediate state sorted so that we do not
have to re-sort every scheduling cycle (which was rather heavy as
profiling showed).
Diffstat (limited to 'opendc/opendc-experiments-sc20/src/main')
| -rw-r--r-- | opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt index ca7e31ea..3392bd02 100644 --- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt +++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt @@ -119,6 +119,7 @@ fun createFaultInjector(domain: Domain, random: Random): FaultInjector { @OptIn(ExperimentalCoroutinesApi::class) fun main(args: Array<String>) { ArgParser(args).parseInto(::ExperimentParameters).run { + val start = System.currentTimeMillis() val monitor = Sc20Monitor(outputFile) val provider = ServiceLoader.load(SimulationEngineProvider::class.java).first() @@ -262,6 +263,7 @@ fun main(args: Array<String>) { scheduler.terminate() failureDomain?.cancel() println(simulationContext.clock.instant()) + println("${System.currentTimeMillis() - start} milliseconds") } runBlocking { |
