Team,

I am in the progress of adding new benchmarks to the (currently sparse)
geode-benchmarks module. The lack of current examples in the module leads
me to wonder what the correct organization of benchmarks in the module is
(and if this is the right location).

The existing benchmarks are all in org.apache.geode.cache.benchmark.
Following this pattern would (presumably) result in benchmark subpackages
in each package that has benchmarks. Making the root package
org.apache.geode.benchmark would remove this proliferation of sub packages.
However, both these approaches have the issue that package level
methods/classes cannot be accessed from benchmarks as they will never share
a package with the production code.

1) Should benchmarks then not be put in special benchmark packages?

2) Should our benchmarks not invoke package level methods/classes in the
case that we should use benchmark packages? Or should such benchmarks not
reside in the benchmarks module?

3) Is geode-benchmarks where we intend all benchmarks, only certain classes
of benchmarks (all using jmh for example), or would we prefer embedding
them in the modules where the code being benchmarked resides?

Thanks for your input.

Reply via email to