Boost logo

Boost :

Subject: Re: [boost] [review][beast] Five-days Remaining
From: Scott Determan (scott.determan_at_[hidden])
Date: 2017-07-06 12:42:43


My Review Vote--------------Unconditional ACCEPT
What is your evaluation of the design?--------------------------------------Beast's design is meant to fit in well with asio, and it achieves that. Ibelieve this is a good decision, as people can use their existing knowledge ofasio to learn beast.
I also appreciate that beast's API can easily be used to build both client andserver code. What is your evaluation of the implementation? -----------------------------------------------The implementation is expertly done. There are traits to check concepts, and thecode was clearly built by someone with a deep understanding of C++.
What is your evaluation of the documentation?---------------------------------------------Concepts are clearly documented, there are good examples, and there is areference for the API. Also the documentation is well formatted and easy to readand navigate.
What is your evaluation of the potential usefulness of the library? -------------------------------------------------------------------Extremely useful. While Beast is a low-level library, and will not receive asmuch use as a high level library built on top of it, it will still see wide use.In addition, it can form a base that high level libraries can use.
Did you try to use the library? With which compiler(s)? Did you have any problems? ----------------------------------------------------------------------------------Yes, I have used beast with both clang 4, gcc 6, and gcc 7. In addition to thework I've done with beast at ripple, for this review I built a toy web serverproject that serves up a web page and opens a websocket that communicates withthe server.
How much effort did you put into your evaluation?-------------------------------------------------In-depth study. I was involved in several code reviews of beast.
Are you knowledgeable about the problem domain?-----------------------------------------------I am knowledgeable about Unix network programming. I am less knowledgeable abouthttp and web development.
Other: ------I'd like to note four additional things:
1) Beast has extensive tests and the principal developer is serious about test   coverage.
2) Beast has an extremely fast development cadence and the principal developer   is willing to tackle large tasks to reach goals he sets for beast. As an   example, once it was decided to make Beast header-only, zlib was ported to   C++ and made header only.
3) The principal developer is responsive to bug reports and other feedback.
4) The runtime performance of beast websockets was significantly better than the   websocket library we were using at Ripple.
All these things should also count in beast's favor.
Disclaimer: -----------I worked with Vinnie at Ripple.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk