Closed CarterLi closed 4 years ago
Thanks for taking the time! I will merge when I have some time to look at it.
Strange that we have -20% performance.
I get about -75% performance when not sending redundant text.
Do you getter better performance with sendmsg/recvmsg?
No, I don't. But sendmsg/recvmsg
won't raise SIGPIPE when there are huge number of connections.
We might have to wait until Linux 5.6, will support send/recv.
send/recv
won't be much better then sendmsg/recvmsg
, except send/recv
are easier to setup.
I will test send/recv
when Ubuntu's daily build comes out. For now send/recv
are unusable due to this bug
I get about -75% performance when not sending redundant text.
Really?
I'd like to contribute my (customized) code to liburing examples, it could be useful for benchmarking for the creator of io_uring IMO.
Nevertheless it's modified from your repo. Would you agree with that?
I'd like to contribute my (customized) code to liburing examples, it could be useful for benchmarking for the creator of io_uring IMO.
Nevertheless it's modified from your repo. Would you agree with that?
Absolutely, go for it :)
We might have to wait until Linux 5.6, will support send/recv.
send/recv
won't be much better thensendmsg/recvmsg
, exceptsend/recv
are easier to setup.
Agree. On another note I've had the problem that when using io_uring_prep_readv
, cqe->res
was returning negative values when using Linux < 5.4 (maybe lower). So I would like to see what send/recv
is doing.
I will test
send/recv
when Ubuntu's daily build comes out. For nowsend/recv
are unusable due to this bugI get about -75% performance when not sending redundant text.
Really?
Yes, see https://github.com/frevib/io_uring-echo-server/pull/2#pullrequestreview-355117825
We might have to wait until Linux 5.6, will support send/recv.
send/recv
won't be much better thensendmsg/recvmsg
, exceptsend/recv
are easier to setup.Agree. On another note I've had the problem that when using
io_uring_prep_readv
,cqe->res
was returning negative values when using Linux < 5.4 (maybe lower). So I would like to see whatsend/recv
is doing.
Negative value returned by cqe-res
is -errno
What values were returned?
I will test
send/recv
when Ubuntu's daily build comes out. For nowsend/recv
are unusable due to this bugI get about -75% performance when not sending redundant text.
Really?
Yes, see #2 (review)
I saw your twitter.
simple echo server. io_uring +99% performance, -45% cpu usage.
Wasn't the performance boost too huge? ;)
We might have to wait until Linux 5.6, will support send/recv.
send/recv
won't be much better thensendmsg/recvmsg
, exceptsend/recv
are easier to setup.Agree. On another note I've had the problem that when using
io_uring_prep_readv
,cqe->res
was returning negative values when using Linux < 5.4 (maybe lower). So I would like to see whatsend/recv
is doing.Negative value returned by
cqe-res
is-errno
What values were returned?
If I remember correctly -22 and for and for a different echo server -14. I can rollback the kernel and try.
I will test
send/recv
when Ubuntu's daily build comes out. For nowsend/recv
are unusable due to this bugI get about -75% performance when not sending redundant text.
Really?
Yes, see #2 (review)
I saw your twitter.
simple echo server. io_uring +99% performance, -45% cpu usage.
Wasn't the performance boost too huge? ;)
Yes, unrealistically huge. I can't believe it's only io_uring
itself doing it, maybe vectored read/write also has something to do with it.
We might have to wait until Linux 5.6, will support send/recv.
send/recv
won't be much better thensendmsg/recvmsg
, exceptsend/recv
are easier to setup.Agree. On another note I've had the problem that when using
io_uring_prep_readv
,cqe->res
was returning negative values when using Linux < 5.4 (maybe lower). So I would like to see whatsend/recv
is doing.Negative value returned by
cqe-res
is-errno
What values were returned?If I remember correctly -22 and for and for a different echo server -14. I can rollback the kernel and try.
I got about 20% performance reduction for not sending redundant text, details unknown