[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.

  rCXX libc++



More information about the libcxx-commits mailing list