View Source BeamBenchmarks.BenchmarksGame (beam_benchmarks v0.2.0)

Benchmarks Game benchmarks

See https://madnight.github.io/benchmarksgame/

Summary

Functions

Run Benchmark Game's Binary Trees benchmark

Run Benchmark Game's Chameneos Redux benchmark

Run Benchmark Game's Fannkuch benchmark

Run Benchmark Game's Fasta benchmark

Run Benchmark Game's K-Nucleotide benchmark

Run Benchmark Game's Mandelbrot benchmark

Run Benchmark Game's n-body test

Run Benchmark Game's Pi Digits benchmark

Run Benchmark Game's Regex Redux benchmark

Run Benchmark Game's Reverse Complement benchmark

Run Benchmark Game's Spectral benchmark

Run Benchmark Game's Thread Ring benchmark

Functions

binary_trees(opts \\ [])

@spec binary_trees([{:n, non_neg_integer()}]) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Binary Trees benchmark

Allocate and deallocate many many binary trees

https://madnight.github.io/benchmarksgame/binarytrees-description.html#binarytrees

Options:

  • :n - the number of iterations to run. Default is 10.

chameneos_redux(opts \\ [])

@spec chameneos_redux([{:n, non_neg_integer()}]) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Chameneos Redux benchmark

Symmetrical thread rendezvous requests

https://madnight.github.io/benchmarksgame/chameneosredux-description.html#chameneosredux

Options:

  • :n - the number of iterations to run. Default is 600.

fannkuch_redux(opts \\ [])

@spec fannkuch_redux([{:n, non_neg_integer()}]) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Fannkuch benchmark

The fannkuch benchmark is defined by programs in Performing Lisp Analysis of the FANNKUCH Benchmark, Kenneth R. Anderson and Duane Rettig. FANNKUCH is an abbreviation for the German word Pfannkuchen, or pancakes, in analogy to flipping pancakes. The conjecture is that the maximum count is approximated by n*log(n) when n goes to infinity.

https://madnight.github.io/benchmarksgame/fannkuchredux-description.html#fannkuchredux

Options:

  • :n - the number of iterations to run. Default is 1000.

fasta(opts \\ [])

@spec fasta(n: non_neg_integer(), io: IO.device()) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Fasta benchmark

Generate and write random DNA sequences

https://madnight.github.io/benchmarksgame/fasta-description.html#fasta

Options:

  • :io - the IO device to write the output to. Required.
  • :n - the number of iterations to run. Default is 1000.

k_nucleotide(opts \\ [])

@spec k_nucleotide([{:n, non_neg_integer()}]) :: BeamBenchmarks.Results.t()

Run Benchmark Game's K-Nucleotide benchmark

Hashtable update and k-nucleotide strings

https://madnight.github.io/benchmarksgame/knucleotide-description.html#knucleotide

Options:

  • :n - the number of iterations to run. Default is 10.

mandelbrot(opts \\ [])

@spec mandelbrot(n: non_neg_integer(), io: IO.device()) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Mandelbrot benchmark

Generate Mandelbrot set portable bitmap file

https://madnight.github.io/benchmarksgame/mandelbrot-description.html#mandelbrot

Options:

  • :io - the IO device to write the output to. Required.
  • :n - the width of the square Mandelbrot picture. Default is 200.

nbody(opts \\ [])

@spec nbody([{:n, non_neg_integer()}]) :: BeamBenchmarks.Results.t()

Run Benchmark Game's n-body test

Model the orbits of Jovian planets, using the same simple symplectic-integrator.

https://madnight.github.io/benchmarksgame/nbody-description.html#nbody

Options:

  • :n - the number of iterations to run. Default is 1000.

pidigits(opts \\ [])

@spec pidigits([{:n, non_neg_integer()}]) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Pi Digits benchmark

Streaming arbitrary-precision arithmetic

https://madnight.github.io/benchmarksgame/pidigits-description.html#pidigits

Options:

  • :n - the number of digits to calculate. Default is 27.

regex_redux(opts \\ [])

@spec regex_redux(keyword()) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Regex Redux benchmark

Match DNA 8-mers and substitute magic patterns

https://madnight.github.io/benchmarksgame/regexredux-description.html#regexredux

Options:

  • :n - the number of iterations to run. Default is 10.

reverse_complement(opts \\ [])

@spec reverse_complement(keyword()) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Reverse Complement benchmark

Read DNA sequences - write their reverse-complement

https://madnight.github.io/benchmarksgame/revcomp-description.html#revcomp

Options:

  • :n - the number of iterations to run. Default is 10.

spectral_norm(opts \\ [])

@spec spectral_norm([{:n, non_neg_integer()}]) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Spectral benchmark

MathWorld: "Hundred-Dollar, Hundred-Digit Challenge Problems", Challenge #3.

https://madnight.github.io/benchmarksgame/spectralnorm-description.html#spectralnorm

Options:

  • :n - the number of iterations to run. Default is 1000.

thread_ring(opts \\ [])

@spec thread_ring([{:n, non_neg_integer()}]) :: BeamBenchmarks.Results.t()

Run Benchmark Game's Thread Ring benchmark

Switch from thread to thread passing one token

https://madnight.github.io/benchmarksgame/threadring-description.html#threadring

Options:

  • :n - the number of messages to pass around the ring. Default is 1000.