Boost.Redis and Corosio

Ruben Perez via Boost <[email protected]>
Newsgroups gmane.comp.lib.boost.devel
Message-ID <CACR-mdJBB+bFMoMzNfO3o1Rq7ALHu4DHYb1gkdJ_e=sdToz=7A@mail.gmail.com>
Hi all,

You might remember how I had started a prototype on how Boost.Redis
would look like if it had a Corosio API some weeks ago. I have been
improving the prototype until making it fully functional. You can find
it here:

Code: https://github.com/boostorg/redis/pull/417
Docs: https://anarthal.github.io/boost-redis-corosio/redis/index.html

Marcelo has been performing benchmarks against the Asio API, with
pretty good results:

client                |   time
----------------------|--------
boost_redis_asio_co   |   1.73
boost_redis_asio_cb   |   1.35
boost_redis_corosio   |   1.00

The benchmarks live in this repo: https://github.com/mzimbres/redis-cli-comp
They measure total CPU time (rather than wall time) because the client
is faster than the server, which gets saturated and becomes a
bottleneck. Lower is better.

Our idea is merging the pull request above to Boost.Redis if Corosio
gets into Boost. This would make Boost.Redis support both Capy and
Corosio. Because most of our code is written as state machines, the
amount of duplication is pretty minimal.

If interested readers find the time to have a look at the PR and leave
some comments, I'd be thankful.

On the other hand, I've also been writing a Corosio-based MySQL
library. It is a fork of Boost.MySQL:
https://github.com/anarthal/mycosql. It is functional, but still a
work in progress. Why fork here instead of adding a new API to the
library? Because the original Boost.MySQL is an older library (C++11),
and forking would allow it to move to C++20 and update part of the
API. But it also means more duplication. If things go well, I may
propose it for Boost inclusion at some point.

Kind regards,
Ruben.
_______________________________________________
Boost mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.boost.org/mailman3/lists/boost.lists.boost.org/
Archived at: https://lists.boost.org/archives/list/[email protected]/message/CAJLF7DOAQSVONKLAATGCJS3NI3HEL6J/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.