Skip to content

Feature/mono processor rework #723

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Dec 5, 2019
Merged

Conversation

OlegDokuka
Copy link
Member

@OlegDokuka OlegDokuka commented Dec 5, 2019

This PR provides a reworked implementation of UnicastMonoProcessor.

In general, it provides from 3% up to 6% win in throughput and 4% in latency

Benchmarks

Benchmark                                                                                      Mode      Cnt     Score   Error   Units
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf                                           thrpt       10    20.127 ± 0.191  ops/us
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf                                    thrpt       10    20.787 ± 0.144  ops/us
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf                                          sample  7254769     0.088 ± 0.001   us/op
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf:monoProcessorPerf·p0.00                  sample              0.023           us/op
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf:monoProcessorPerf·p0.50                  sample              0.076           us/op
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf:monoProcessorPerf·p0.90                  sample              0.079           us/op
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf:monoProcessorPerf·p0.95                  sample              0.081           us/op
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf:monoProcessorPerf·p0.99                  sample              0.106           us/op
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf:monoProcessorPerf·p0.999                 sample              1.108           us/op
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf:monoProcessorPerf·p0.9999                sample             22.176           us/op
UnicastVsDefaultMonoProcessorPerf.monoProcessorPerf:monoProcessorPerf·p1.00                  sample           1871.872           us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf                                   sample  7680326     0.084 ± 0.001   us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf:unicastMonoProcessorPerf·p0.00    sample              0.023           us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf:unicastMonoProcessorPerf·p0.50    sample              0.073           us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf:unicastMonoProcessorPerf·p0.90    sample              0.077           us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf:unicastMonoProcessorPerf·p0.95    sample              0.079           us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf:unicastMonoProcessorPerf·p0.99    sample              0.106           us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf:unicastMonoProcessorPerf·p0.999   sample              0.865           us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf:unicastMonoProcessorPerf·p0.9999  sample             21.760           us/op
UnicastVsDefaultMonoProcessorPerf.unicastMonoProcessorPerf:unicastMonoProcessorPerf·p1.00    sample           1970.176           us/op

Benchmarks on RSocket FnF and RequestResponse

BaseLine

Benchmark                     Mode  Cnt        Score       Error  Units
RSocketPerf.fireAndForget    thrpt   10  1698013.876 ± 26873.363  ops/s
RSocketPerf.requestResponse  thrpt   10   725708.244 ±  4801.008  ops/s

PR

Benchmark                     Mode  Cnt        Score       Error  Units
RSocketPerf.fireAndForget    thrpt   10  1804857.887 ± 23843.790  ops/s
RSocketPerf.requestResponse  thrpt   10   762976.869 ± 11604.598  ops/s

This reverts commit c5684eb.

Signed-off-by: Oleh Dokuka <[email protected]>
This reverts commit c5684eb.

Signed-off-by: Oleh Dokuka <[email protected]>
Signed-off-by: Oleh Dokuka <[email protected]>
Signed-off-by: Oleh Dokuka <[email protected]>
Signed-off-by: Oleh Dokuka <[email protected]>
@OlegDokuka OlegDokuka force-pushed the feature/mono-processor-rework branch from 3cf8b8b to cf53432 Compare December 5, 2019 14:50
@OlegDokuka OlegDokuka merged commit 56c8965 into develop Dec 5, 2019
OlegDokuka added a commit that referenced this pull request Mar 2, 2020
* reworking unicast mono processor impl

This reverts commit c5684eb.

Signed-off-by: Oleh Dokuka <[email protected]>

* reworking unicast mono processor impl

This reverts commit c5684eb.

Signed-off-by: Oleh Dokuka <[email protected]>

* provides perf comparison

Signed-off-by: Oleh Dokuka <[email protected]>

* provides more strict tests

Signed-off-by: Oleh Dokuka <[email protected]>

* provides formatting

Signed-off-by: Oleh Dokuka <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant