diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-10-08 22:02:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-08 22:02:07 +0200 |
| commit | b7a71e5b4aa77b41ef41deec2ace42b67a5a13a7 (patch) | |
| tree | b88bbede15108c6855d7f94ded4c7054df186a72 /opendc-experiments/opendc-experiments-capelin | |
| parent | 3098eeb116a80ce12e6575e454d0448867478792 (diff) | |
| parent | e2f002358e9d5be2239fa2cb7ca92c9c96a21b6f (diff) | |
merge: Performance improvements for flow engine
This pull request applies multiple performance improvements for the flow engine and
compute simulator.
* Optimize SimTraceWorkload (by storing fragments using several arrays)
* Skip fair-share algorithm if capacity remaining
* Count interference for multiplexer inputs
* Simplify FlowSink implementation
* Do not update outputs if rate is unchanged
* Eliminate ArrayList iteration overhead
* Optimize clock storage
* Specialize FlowEngine queues
* Eliminate clock access in hot path
**Breaking API Changes**
* `SimTraceWorkload` now accepts a `SimTrace` as parameter. This trace can be constructed using fragments or directly using builder class. Internally, the trace is now stored using several arrays.
Diffstat (limited to 'opendc-experiments/opendc-experiments-capelin')
| -rw-r--r-- | opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt b/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt index 337d68bf..e34c5bdc 100644 --- a/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt +++ b/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt @@ -213,7 +213,7 @@ class CapelinIntegrationTest { { assertEquals(6013515, this@CapelinIntegrationTest.exporter.idleTime) { "Idle time incorrect" } }, { assertEquals(14724500, this@CapelinIntegrationTest.exporter.activeTime) { "Active time incorrect" } }, { assertEquals(12530742, this@CapelinIntegrationTest.exporter.stealTime) { "Steal time incorrect" } }, - { assertEquals(481270, this@CapelinIntegrationTest.exporter.lostTime) { "Lost time incorrect" } } + { assertEquals(481251, this@CapelinIntegrationTest.exporter.lostTime) { "Lost time incorrect" } } ) } |
