PhotonLibOS icon indicating copy to clipboard operation
PhotonLibOS copied to clipboard

benchmark

Open silviucpp opened this issue 3 years ago • 4 comments

Can you add into the network benchmark also https://github.com/Qihoo360/evpp ? It's way better than many other libraries used to compare with Photon

silviucpp avatar Sep 26 '22 07:09 silviucpp

Because I didn't know how to specify buffer size in evpp's tcp server example, so I only run its ping-pong server tests in my own environment. (The streaming test would require a fixed buffer size)

The results showed that it ranked the 3rd, a little bit slower than asio. Already updated into the list. Not sure why they claimed that they are faster than asio. Maybe things have changed since 2017?

beef9999 avatar Sep 26 '22 09:09 beef9999

Looks like evpp is also an async + callback implementation, which is usually faster than those coroutine based competitors in terms of ping-pong scenario, for it doesn't have the context switch overhead. If not enabling io_uring, even Photon would not be able to surpass these async + callback implementations.

However, the problem is about the steaming scenario, for instance, a RPC service, serving multiple channels within one connection. As you can see in our data sheet, the performance of asio and its alike would drop severely in streaming tests.

beef9999 avatar Sep 26 '22 09:09 beef9999

Do you have the benchmark code in the repo ? I cannot see it. I want to see how you compiled evpp .

Silviu

silviucpp avatar Sep 26 '22 16:09 silviucpp

The Photon’s bench code is in the example/net-perf . The instructions are just in the front page.

I compiled evpp simply by cmake .. and make -j

beef9999 avatar Sep 27 '22 01:09 beef9999