Raw data output
aleksey.shipilev at oracle.com
Tue Jul 12 19:58:29 UTC 2016
Sorry for late reply.
On 06/21/2016 06:02 PM, Petr Stefan wrote:
> But now, JMH doesn't support collecting very raw data (rawData list
> from JSON output holds just mean from each iteration - except
> SingleShot benchmarking mode where the mean is the actual value). But
> we found out, that Statistics class (all it's implementations) has
> the raw data inside, so we propose a patch, which adds a getter for
> this data.
Yes, I understand the problem. Current raw_data is not usable for most
scenarios, so I don't mind changing it.
> Please look at proposed changes and give me a feedback. We're open to
> changes and improvements.
*) Sign the OCA (http://openjdk.java.net/contribute/) as soon as
possible -- processing takes time.
*) No need for separate patches. The change would have go in as a
single changeset anyway.
*) No need for a separate JSON formatter. Keeping both non-raw and raw
versions in sync would be a hassle, so let's just fix the current JSON
*) We would need to be able to trim/disable raw_data printing in JSON
output. The common way in JMH is to use system properties. Something
like boolean "jmh.json.rawData" would be fine.
*) It is better to return Iterator from Statistics.getRawData(). I
understand you want Iterable for for-each loops. You can create an
utility method in Utils that adapts Iterator to Iterable for this.
*) Iterator.remove() should throw UnsupportedOperationException.
*) RawJSONResultFormat.getConcatenation is replaceable with Utils.join.
More information about the jmh-dev