Skip to content

Latest commit

 

History

History
75 lines (54 loc) · 2.57 KB

0.7.0.md

File metadata and controls

75 lines (54 loc) · 2.57 KB

0.7.0

  • Add Batch Mode. Run all of your suites' BMs with the results-per-suite saved automatically. (example)

  • Bugfix: score error/confidence was being calculated incorrectly for ops/sec

  • You can now configure the {warmup,measurement} {iterations,durations} in the GUI

  • JMH JSON output

    • Fix performance issue
    • Replace spaces with underscores in parameter names (jmh-visualizer doesn't like spaces)
    • Retain full precision of stats
  • JMH Text output

    • Rename Runs to Cnt in text output to match JMH
    • Order results by BM first, and then params
  • CSV output

    • Retain full precision of stats
    • Order results by BM first, and then params
  • JMH likeness

    • Simplify how engine records stats for better performance
    • The Runs column in results now shows iterations just like JMH (as opposed to total executions)
  • Filenames

    • Add new field .resultFilenameWithoutExt to GuiOptions so that you can customise filenames
    • By default, when compiled with fastOptJS we now inject "fastopt" into result filenames
  • API

    • You can now (optionally) specify your own GuiOptions when starting the BM GUI

    • Allow configuration of result columns and formats via a new option in GuiOptions called bmResultFormats

      Eg. this will swap around the default of T/op and ops/sec, so that ops/sec:

      • is first in the table
      • is what appears in the graph
      • is the primary stat in JMH Text, JMH JSON, and CSV output
      GuiOptions.default.copy(
        bmResultFormats = ctx => Vector(
                                   BmResultFormat.chooseOpsPerTime(ctx),
                                   BmResultFormat.chooseTimePerOp(ctx)))
    • Add GuiParams.combineN for N in 2 ~ 22

    • Add GuiParams.tupleN for N in 2 ~ 22

    • Deprecate GuiParams.two in favour of GuiParams.combine2

    • Big refactor. Most of it is internal, but it does change a few things affecting public API:

      • MenuComp => GuiBuilder
      • MenuComp.routerCfg => GuiBuilder.router
      • MenuComp.LayoutCfg => LayoutConfig
      • MenuComp.UrlFrag => UrlFrag
    • Remove code deprecated in v0.2.0

Migration

find . -type f -name '*.scala' -exec perl -pi -e '

  s/\bGuiParams.two\( *Iso[ .]+?id.*?, *(.+)\)/GuiParams.tuple2(\1)/;
  s/\bGuiParams.two\((.+?) *, *(.+)\)/GuiParams.combine2(\1)(\2)/;
  s/\bMenuComp.routerCfg\b/GuiBuilder.router/g;
  s/\bMenuComp.LayoutCfg\b/LayoutConfig/g;
  s/\bMenuComp.UrlFrag\b/UrlFrag/g;
  s/\bMenuComp\b/GuiBuilder/g;

' {} +