summaryrefslogtreecommitdiff
path: root/simulator/opendc-simulator/opendc-simulator-compute/src/jmh
AgeCommit message (Collapse)Author
2021-04-21simulator: Introduce SimulationCoroutineDispatcherFabian Mastenbroek
This change introduces the SimulationCoroutineDispatcher implementation which replaces the TestCoroutineDispatcher for running single-threaded simulations. Previously, we used the TestCoroutineDispatcher from the kotlinx-coroutines-test modules for running simulations. However, this module is aimed at coroutine tests and not at simulations. In particular, having to construct a Clock object each time for the TestCoroutineDispatcher caused a lot of unnecessary lines. With the new approach, the SimulationCoroutineDispatcher automatically exposes a usable Clock object. In addition to ergonomic benefits, the SimulationCoroutineDispatcher is much faster than the TestCoroutineDispatcher due to the assumption that simulations run in only a single thread. As a result, the dispatcher does not need to perform synchronization and can use the fast PriorityQueue implementation.
2021-04-07simulator: Add initial design of CPUFreq modelFabian Mastenbroek
This change adds a model implementing Dynamic Voltage Frequency Scaling (DVFS) to OpenDC.
2021-03-23simulator: Add benchmarks for opendc-simulator-computeFabian Mastenbroek
This change adds benchmarks to the opendc-simulator-compute module in order to quantify effect of changes on the performance of this module.