-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
Introductory documentation and use case for the following are provided in README.md :
Benchmark* Range(int64_t start, int64_t limit)Benchmark* RangeMultiplier(int multiplier)Benchmark* Args(const std::vector<int64_t>& args)Benchmark* Ranges(const std::vector<std::pair<int64_t, int64_t> >& ranges)Benchmark* Apply(void (*func)(Benchmark* benchmark))
From the list given above, only Benchmark* Apply(void (*func)(Benchmark* benchmark)) seems to be useful to define a custom argument list to simulate a constant step based dense range. As per my very basic understanding of the library, every other option in the given list can not viably produce a constant step based dense range for an arbitrary range.
The dense range based analysis is very important to understand the performance behavior of the code at an user defined precision level. The Range method along with RangeMultiplier doesn't offer the suitable precision as the minimum value that can be assigned to RangeMultiplier is 2 and it doesn't provide a uniform step size.
Looking through the source code, I found the following function which provides a dense range :
Benchmark* DenseRange(int64_t start, int64_t limit, int step = 1)
It might be helpful to others if an introductory documentation of DenseRange is included in README.md so that they can get the information very easily. The currently available alternative to DenseRange is Apply but it is much more complicated to use.
So, I would humbly request for the documentation of 'DenseRange to be included in README.md
I understand the developers will be busy, so if it's okay, I could take the task upon myself.