Skip to main content

Statistics for Performance Engineers

  • Chapter
  • First Online:
Book cover Pro .NET Benchmarking
  • 1082 Accesses

Abstract

In this chapter, we are going to discuss statistics and how to apply it to benchmarking. You will learn many useful approaches and techniques to help you improve your benchmark design and analyze the results.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For example, Scott’s normal reference rule, Rice rule, Freedman–Diaconis’ choice, Doane’s formula, square-root choice, Sturges’ formula, and others.

  2. 2.

    It’s not the only outlier test; there are many other approaches: 6 sigma test, Chauvenet’s criterion, Grubbs’ test, Dixon’s Q test, Peirce’s criterion, and others.

  3. 3.

    http://thecodelesscode.com/case/220

  4. 4.

    For example, the classic box plot can be improved by additional information and transformed to the variable width box plot, the notched box plot, the vase plot, the bean plot, the bee swarm box plot, the highest density region box plot, the box-percentile plot, the letter-value box plot, or other kinds of box plot.

  5. 5.

    See https://github.com/dotnet/BenchmarkDotNet/blob/v0.11.3/src/BenchmarkDotNet/Mathematics/Histograms/AdaptiveHistogramBuilder.cs

  6. 6.

    https://stats.stackexchange.com/a/1620

  7. 7.

    https://stats.stackexchange.com/a/17399

  8. 8.

    https://github.com/dotnet/corefx/pull/32389

  9. 9.

    There is an interesting blog called “Accidentally Quadratic” with stories about situations when an algorithm has the quadratic complexity, but it wasn’t obvious: https://accidentallyquadratic.tumblr.com/

  10. 10.

    You can find an implementation of this method and other similar algorithms in the MathNet.Numerics NuGet package: see https://numerics.mathdotnet.com/

  11. 11.

    You can find the most truthful explanation of how curve fitting works in real life here: https://xkcd.com/2048/

  12. 12.

    We assume that the standard deviation is not changing significantly with additional iterations. The only exception from this rule supposes that new iterations take more time than the previous. In this case, the benchmark doesn’t have a steady state, and it doesn’t make sense to discuss its distribution.

  13. 13.

    In [Lakens 2014b], Daniel Lakens describes an interesting effect called “bi-polar p-value disorder.”

  14. 14.

    You can find more information about this effect in the following Wikipedia article: https://en.wikipedia.org/wiki/Confirmation_bias

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Andrey Akinshin

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Akinshin, A. (2019). Statistics for Performance Engineers. In: Pro .NET Benchmarking. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-4941-3_4

Download citation

Publish with us

Policies and ethics