
Hello, Gennadiy Rozental wrote:
Ji <jpalecek <at> web.de> writes:
I have a test that uses many BOOST_CHECKs (~ 10 thousands or so). Running that test is very slow and I have noticed most of the time is spent by formatting the description string to be passed to check_impl, only to be ignored, because I don't want to log successful checks (and they are successful).
I have improved this by using some kind of expression template for this (called lazy_output). It works like this: Thanks you very much for the idea. I've implemented it a bit differently and extended to support manipulators. Also I've integrated it with UTF internals a bit more. Checked into svn in 47258.
Thank you. Now, I have taken it one step further and used the same trick on the other arguments of check_impl (that is, argument values of predicate checks). I left the CHECK_BITWISE_EQUAL and CHECK_EQUAL_COLL taking plain old const char*, because they never take more than a string literal. The other checks' arguments are converted to lazy_ostream const*. Regards Jiri Palecek