Skip to content

Documentation request for DenseRange #851

@aerosayan

Description

@aerosayan

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions