benchee v0.8.0 Release Notes

Release Date: 2017-05-07 // almost 7 years ago
  • ๐Ÿš€ Another smaller release that focuses on adding type specs and structs in appropriate places along with fixing a couple of small bugs.

    ๐Ÿ”‹ Features (User Facing)

    • ๐Ÿ”ง Providing an unrecognized configuration option (say runNtime instead of runtime) will now raise an exception
    • ๐Ÿ”ง Durations in the configuration will now be scaled appropriately (minutes, microseconds etc)
    • ๐Ÿ“„ Major functions are type specced for your viewing pleasure in the docs and your dialyzer pleasure at type check time.

    ๐Ÿ›  Bugfixes (User Facing)

    • ๐Ÿ›  In 0.7.0 statistics generation might time out if Millions of run times were captured so that it takes longer than 5 seconds, this is fixed by waiting infinitely - thanks @devonestes for the report.
    • ๐Ÿšš Unintended line break in the fast function warning removed
    • All necessary dependencies added to :applications (deep_merge was missing)

    ๐Ÿ’ฅ Breaking Changes (User Facing)

    • โฌ‡๏ธ Dropped support for elixir 1.2, new support is elixir 1.3+
    • ๐Ÿ”ง Benchee.Config was renamed to Benchee.Configuration (important when you use the more verbose API or used it in a Plugin)

    ๐Ÿ”‹ Features (Plugins)

    • Major public interfacing functions are now typespecced!
    • ๐Ÿ”ง A couple of major data structures are now proper structs e.g. Benchee.Suite, Benchee.Configuration, Benchee.Statistics

    ๐Ÿ’ฅ Breaking Changes (Plugins)

    • ๐Ÿ”ง The config key is now configuration to go along with the Configuration name change
    • ๐Ÿ”Œ As Benchee.Configuration is a proper struct now, arbitrary keys don't end up in it anymore. Custom data for plugins should be passed in through formatter_options or assigns. Existing plugin keys (csv, json, html and console) are automatically put into the formatter_options key space for now.