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

Have an investigation on the Monoio runtime? #129

Closed
clia opened this issue Jul 12, 2022 · 9 comments
Closed

Have an investigation on the Monoio runtime? #129

clia opened this issue Jul 12, 2022 · 9 comments

Comments

@clia
Copy link
Contributor

clia commented Jul 12, 2022

https://github.com/bytedance/monoio/blob/master/docs/en/benchmark.md

According to the official benchmark, the Monoio runtime's performance is better than the Glommio's.

Will you have an investigation on it?

@fafhrd91
Copy link
Member

i dont have time at the moment

@zzau13
Copy link
Contributor

zzau13 commented Oct 17, 2022

The implementation https://github.com/botika/ntex/commit/e4aced391af2097c633078b2860cb8f30ef5ec77, but has some problems:

  • need nightly and I have no idea how to put it only to compile in nightly, so that ntex in stable does not compile.

@fafhrd91
Copy link
Member

how is performance?

@zzau13
Copy link
Contributor

zzau13 commented Oct 17, 2022

how is performance?

Well, I was still reviewing the implementation before putting it in the techempower benchmark environment. I don't know if I'll have time today.

Also with this change ntex only compiles in nightly and I don't see a way to include a dependency according to the version of Rust.

@trickster
Copy link

@botika You can conditionally apply a feature that runs only on nightly.

@mkvalor
Copy link

mkvalor commented Nov 6, 2022

@botika In case you haven't seen these, I found a couple of online answers about how to conditionally compile a feature only for nightly. They are from 2019, so the syntax may have evolved or changed (I haven't personally tried them):

https://stackoverflow.com/questions/59542378/conditional-compilation-for-nightly-vs-stable-rust-or-compiler-version
https://users.rust-lang.org/t/add-unstable-feature-only-if-compiled-on-nightly/27886

@fakeshadow
Copy link
Contributor

fakeshadow commented Nov 16, 2022

The benchmark is misleading. If you look at the source it compares multi-threaded tokio with thread per core glommio and monoio. Which is not how ntex work under the hood with tokio. Besides that the bench does not include abstraction over poll based api which ntex uses internally. And the cost of converting a completion future to a readiness future soundly can be high.(depend on the implementation)
From my personal test I don't find io_uring suitable for network io handling in Rust (yet).

@fafhrd91
Copy link
Member

added support compio runtime, it also supports uring

@fafhrd91
Copy link
Member

#399

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

6 participants