Skip to content
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

perf(async): Use tokio_sync's channels instead of futures #195

Merged
merged 1 commit into from
Mar 13, 2019

Conversation

Marwes
Copy link
Collaborator

@Marwes Marwes commented Mar 11, 2019

These are slightly faster than the ones from futures so since we
already use tokio there is no harm in using these types instead.

query/simple_getsetdel_async
                        time:   [150.96 us 154.48 us 158.39 us]
                        change: [-30.815% -29.179% -27.560%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  6 (6.00%) high mild
  7 (7.00%) high severe

query_pipeline/shared_async_implicit_pipeline
                        time:   [5.5211 ms 5.5509 ms 5.5852 ms]
                        thrpt:  [179.04 Kelem/s 180.15 Kelem/s 181.12 Kelem/s]
                 change:
                        time:   [-11.816% -11.045% -10.262%] (p = 0.00 < 0.05)
                        thrpt:  [+11.436% +12.416% +13.400%]
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  6 (6.00%) low mild
  3 (3.00%) high mild
  2 (2.00%) high severe
query_pipeline/shared_async_long_pipeline
                        time:   [3.1803 ms 3.1931 ms 3.2065 ms]
                        thrpt:  [311.87 Kelem/s 313.17 Kelem/s 314.44 Kelem/s]
                 change:
                        time:   [-5.9922% -5.4092% -4.8482%] (p = 0.00 < 0.05)
                        thrpt:  [+5.0952% +5.7185% +6.3742%]
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe

These are slightly faster than the ones from `futures` so since we
already use `tokio` there is no harm in using these types instead.

```
query/simple_getsetdel_async
                        time:   [150.96 us 154.48 us 158.39 us]
                        change: [-30.815% -29.179% -27.560%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  6 (6.00%) high mild
  7 (7.00%) high severe

query_pipeline/shared_async_implicit_pipeline
                        time:   [5.5211 ms 5.5509 ms 5.5852 ms]
                        thrpt:  [179.04 Kelem/s 180.15 Kelem/s 181.12 Kelem/s]
                 change:
                        time:   [-11.816% -11.045% -10.262%] (p = 0.00 < 0.05)
                        thrpt:  [+11.436% +12.416% +13.400%]
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  6 (6.00%) low mild
  3 (3.00%) high mild
  2 (2.00%) high severe
query_pipeline/shared_async_long_pipeline
                        time:   [3.1803 ms 3.1931 ms 3.2065 ms]
                        thrpt:  [311.87 Kelem/s 313.17 Kelem/s 314.44 Kelem/s]
                 change:
                        time:   [-5.9922% -5.4092% -4.8482%] (p = 0.00 < 0.05)
                        thrpt:  [+5.0952% +5.7185% +6.3742%]
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
```
@badboy badboy merged commit bd8bdec into redis-rs:master Mar 13, 2019
@Marwes Marwes deleted the tokio_sync branch March 13, 2019 14:40
barshaul pushed a commit to barshaul/redis-rs that referenced this pull request Jul 11, 2024
barshaul pushed a commit to barshaul/redis-rs that referenced this pull request Jul 11, 2024
barshaul pushed a commit to barshaul/redis-rs that referenced this pull request Oct 9, 2024
This fixes a regression introduced by commit: 41de670

Signed-off-by: Eran Ifrah <[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.

2 participants