On 22 Aug 2015 at 15:21, Glen Fernandes wrote:
On Sat, Aug 22, 2015 at 9:21 AM, Niall Douglas wrote:
If you want to get started, everything is ready at the usual places and the CI dashboard is all green on all supported platforms and targets (the one fail was a timeout due to me pushing the CI too hard, it's not important).
In my opinion- I don't think you will need to worry about the tests being all green for a review.
I'm a perfectionist. I wouldn't have considered it ready for review until it was all green across the board on all 60 of its per-commit tested targets. I spent four hours on Friday coaxing wandbox to compile AFIO again so you'd have a working C++ browser playpen you can go play with AFIO in. Little details are important.
Today I'll be spending swapping my dev workstation hard drive as I killed the poor thing this week during testing the AFIO tutorial workshop examples. I'll then press on with finishing the final key-value store example which is described in detail in the tutorial but is currently without code nor benchmarks. That new code won't be part of this review, but I can link to it here with benchmarks when it's ready.
One question: Are reviewers also reviewing the "Monad" and "APIBind" libraries? (I see them consumed as sub-modules in the AFIO repository).
Well I asked here about that a few months ago, and I was told that there is precedent for this situation. Apparently historically you review the library being presented for review only, mentioning only the internal sublibraries if there is something catastrophically worrying about them. One then expects the internal sublibraries to be spun out into additional Boost libraries presented for review later if that is appropriate. I can tell you that I personally would not be comfortable sending AFIO into the main Boost distribution until after Monad has been reviewed here, so even if there is a universal unconditional acceptance of AFIO by everyone here, I will personally guarantee I won't send in a final AFIO until after Monad is reviewed here. I think this only fair. Do note I walk you through monad<T> in the tutorial with everything you need to know. And if you find bugs in Monad not already in the Monad issue tracker, please do file them. I know of at least half a dozen myself. Does this sound reasonable? Please do feel free to ask for any clarifications. I have sprinked cautions and notes around the AFIO documentation to explain how the presented AFIO is expected to differ from final AFIO after Monad is reviewed, and indeed there is also a dedicated section listing the expected differences in the release notes. I would *emphasise* very little is expected to change in the public API presented here, indeed I expect all the unit tests and tutorial examples to compile as-is. You or anyone else can base your review on the library as presented. The only real changes in final AFIO are the simplification of some tutorial examples thanks to C++ 1z coroutines, and better performance. The library being presented today is very well tested, and should *not* *lose* *you* *data* which is the most important quality in an i/o library. Even if performance - as you will see in the tutorial's benchmarks - is a bit poor in the current engine in some use cases. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/