On Thu, Jun 25, 2015 at 5:41 PM, Joel de Guzman
On 6/26/15 5:24 AM, Louis Dionne wrote:
Faster runtime performance is also questionable, when lightweight views and reference members come into play.
Hana claims to be at least as good as Fusion runtime-wise, which is backed by the benchmarks presented in the tutorial. It is possible that idiomatic usage of Hana leads to worse runtime performance than with Fusion, in which case the library and its idioms will have to be adjusted. Like I said a few times, Hana is a new library with a new paradigm, and I think we're only starting to discover how it can be used (and used efficiently).
Your tests focused on a mere subset of Fusion which is the least optimized: fusion::vector. Your tests do not cover other areas such as views, and other containers. I can imagine a case, when say you push_back or insert where views should shine. It's the difference between copy by value and pass by reference. Try doing that with large tuple elements (those without resources and are not efficiently moved). Actually, have you tried reverse with large tuples like bitmaps and stuff?
</snip>
Hi Joel and Louis, How about a similar analysis but for the Hana vs. Fusion compile-times? In my experience compile-times are much (much!) more of a problem than run-times with TMP in production code (because I can always do something "smart" to optimize run-times, while such optimizations are much more difficult, and much more compile-dependent for compile-times). I'd be nice to confirm/check Hana's compile-time improvements over Fusion shown by the Tutorial graphs, and also to be able to guess if we'll see similar numbers on MSVC, not just Clang (Louis already commented that should be the case...). Thanks. --Lorenzo P.S. As I said in my review, I think Hana has its place in Boost regardless of the promised performance improvements (because of its easier/new TMP, great SFINAE facilities, etc.). But the the improved compile-times will essentially "force" me to use Hana if it becomes available on MSVC, so that's a lot of extra motivation.