[PATCH] D55045: Add a version of std::function that includes a few optimizations.
Jordan Soyke via Phabricator
reviews at reviews.llvm.org
Fri Nov 30 06:29:49 PST 2018
jsoyke added a comment.
> Thanks! What is this output? Is this some "diff" view between the current and the proposed patch? The time column with floating points represents a change in percentage from the baseline to the candidate (e.g. +0.13 == +13%)? I've used Google Benchmark in the past but I've never seen output exactly like that.
The output is the time delta, not a fraction. It's the output of libcxx/utils/google-benchmark/tools/compare.py. Some of the operations are sub-nano-second so it's handy for that. The times are so low here we may want to time ~10 operations or something instead of just one, but the comparison seems roughly inline with what I've seen with our internal tools.
> We could also experiment with different sizes of SBO and see what's best. I don't think it's a one-size-fits-all problem (unless `3*sizeof(void)` is magic for some reason?).
I could probably instrument the code to get a histogram of capture sizes we see in some real codebases, that could help inform any decisions here.
CHANGES SINCE LAST ACTION
More information about the libcxx-commits