Skip to content

DPL: Cleanup and optimization of DataRelayer benchmark#7741

Merged
matthiasrichter merged 1 commit intoAliceO2Group:devfrom
matthiasrichter:dev-dpl-message-model
Nov 26, 2021
Merged

DPL: Cleanup and optimization of DataRelayer benchmark#7741
matthiasrichter merged 1 commit intoAliceO2Group:devfrom
matthiasrichter:dev-dpl-message-model

Conversation

@matthiasrichter
Copy link
Copy Markdown
Collaborator

Moving the creation of messages outside the benchmark loop to
benchmark DataRelayer functions only.

This also allows to skip pausing of benchmark timer, which for some
reason is increasing the total execution time, and which has been
disabled for some of the benchmarks bacause exactly this reason.

The benchmark values changed a bit, some of the tests did not include
consuming the messages. The different tests are now better comparable.

Run on (8 X 3400 MHz CPU s)
2021-11-23 23:15:17
---------------------------------------------------------------------
Benchmark                              Time           CPU Iterations
---------------------------------------------------------------------
BM_RelayMessageCreation              148 ns        148 ns    4720528
BM_RelaySingleSlot                   700 ns        700 ns     973025
BM_RelayMultipleSlots                774 ns        774 ns     885661
BM_RelayMultipleRoutes              1366 ns       1366 ns     509846
BM_RelaySplitParts/10               1047 ns       1047 ns     663282
BM_RelaySplitParts/100              2317 ns       2317 ns     293066
BM_RelaySplitParts/1000            14166 ns      14163 ns      50186
BM_RelayMultiplePayloads/10          890 ns        889 ns     773185
BM_RelayMultiplePayloads/100        1438 ns       1438 ns     425743
BM_RelayMultiplePayloads/1000       6996 ns       6995 ns     103218

Benchmark values before can be found in 630cf86

Moving the creation of messages outside the benchmark loop to
benchmark DataRelayer functions only.

This also allows to skip pausing of benchmark timer, which for some
reason is increasing the total execution time, and which has been
disabled for some of the benchmarks bacause exactly this reason.

The benchmark values changed a bit, some of the tests did not include
consuming the messages. The different tests are now better comparable.
```
Run on (8 X 3400 MHz CPU s)
2021-11-23 23:15:17
---------------------------------------------------------------------
Benchmark                              Time           CPU Iterations
---------------------------------------------------------------------
BM_RelayMessageCreation              148 ns        148 ns    4720528
BM_RelaySingleSlot                   700 ns        700 ns     973025
BM_RelayMultipleSlots                774 ns        774 ns     885661
BM_RelayMultipleRoutes              1366 ns       1366 ns     509846
BM_RelaySplitParts/10               1047 ns       1047 ns     663282
BM_RelaySplitParts/100              2317 ns       2317 ns     293066
BM_RelaySplitParts/1000            14166 ns      14163 ns      50186
BM_RelayMultiplePayloads/10          890 ns        889 ns     773185
BM_RelayMultiplePayloads/100        1438 ns       1438 ns     425743
BM_RelayMultiplePayloads/1000       6996 ns       6995 ns     103218
```

Benchmark values before can be found in 630cf86
@matthiasrichter matthiasrichter requested a review from a team as a code owner November 25, 2021 15:31
@matthiasrichter
Copy link
Copy Markdown
Collaborator Author

cs8 CIs failing with aliDoctor error, very likely unrelated, and the changes are fully isolated in one particular benchmark, merging

@matthiasrichter matthiasrichter merged commit ccf5495 into AliceO2Group:dev Nov 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant