BenchmarkAnything::Evaluations - Evaluation support for BenchmarkAnything data

multi_point_stats (\@values)

For an array of values it gets basic statistical aggregations, like average, standard deviation, and confidence interval.

transform_chartlines ($chartlines, $options)

Gets an array of query results, each one from a different query against the backend store, and returns a matrix for rendering those chartlines, currently suited for the google charts api.

Multiple results for the same data X-axis are aggregated (default: avg).

  [ title: "dpath-T-n64",
    results: [
      {N:dpath, V:1000, version:2.0.13},
      {N:dpath, V:1170, version:2.0.14},
      {N:dpath,  V:660, version:2.0.15},
      {N:dpath, V:1030, version:2.0.16}
  [ title: "Mem-nT-n64",
    results: [
      {N:Mem,    V:400, version:2.0.13},
      {N:Mem,    V:460, version:2.0.14},
      {N:Mem,   V:1120, version:2.0.15},
      {N:Mem,    V:540, version:2.0.16}
  [ title: "Fib-T-64",
    results: [
      {N:Fib,    V:100, version:2.0.13},
      {N:Fib,    V:100, version:2.0.14},
      {N:Fib,    V:100, version:2.0.15},
      {N:Fib,    V:200, version:2.0.16}
   # multiple results for same version would become aggregated (avg), not show here
  ['version',   'dpath', 'Mem', 'Fib'],
  ['2.0.13',      1000,   400,   100],
  ['2.0.14',      1170,   460,   100],
  ['2.0.15',       660,  1120,   100],
  ['2.0.16',      1030,   540,   200]

There are assumptions for the transformation:

  • there is only one NAME per chartline resultset

  • titles are unique


Steffen Schwigon <>


This software is copyright (c) 2023 by Steffen Schwigon.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.