Skip to content

Instantly share code, notes, and snippets.

@isaacabraham
Created October 31, 2020 18:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save isaacabraham/c365f9377585b2469a27bc5271094c29 to your computer and use it in GitHub Desktop.
Save isaacabraham/c365f9377585b2469a27bc5271094c29 to your computer and use it in GitHub Desktop.
open BenchmarkDotNet.Attributes
open BenchmarkDotNet.Running
open BenchmarkDotNet.Jobs
[<SimpleJob(RuntimeMoniker.CoreRt31); SimpleJob(RuntimeMoniker.CoreRt50)>]
type Benchmarks() =
[<Benchmark; Arguments 1000; Arguments 10000; Arguments 100000; Arguments 1000000>]
member _.MapCreate size =
let hs = [| for i in 1 .. size -> i, i |] |> Map
[| for i in 1 .. size -> hs.[i] |]
[<Benchmark (Baseline = true); Arguments 1000; Arguments 10000; Arguments 100000; Arguments 1000000>]
member _.DicCreate size =
let hs = [| for i in 1 .. size -> i, i |] |> dict
[| for i in 1 .. size -> hs.[i] |]
BenchmarkRunner.Run<Benchmarks>() |> ignore
Method Job Runtime size Mean Error StdDev Ratio RatioSD
MapCreate CoreRt 3.1 CoreRt 3.1 1000 469.26 us 5.645 us 5.004 us 4.94 0.06
DicCreate CoreRt 3.1 CoreRt 3.1 1000 95.00 us 0.520 us 0.434 us 1.00 0.00
MapCreate CoreRt 5.0 CoreRt 5.0 1000 471.56 us 2.397 us 2.002 us 4.62 0.05
DicCreate CoreRt 5.0 CoreRt 5.0 1000 102.04 us 1.274 us 0.995 us 1.00 0.00
MapCreate CoreRt 3.1 CoreRt 3.1 10000 9,896.53 us 194.421 us 272.551 us 6.33 0.18
DicCreate CoreRt 3.1 CoreRt 3.1 10000 1,574.68 us 23.358 us 21.849 us 1.00 0.00
MapCreate CoreRt 5.0 CoreRt 5.0 10000 9,656.17 us 192.705 us 316.620 us 6.20 0.24
DicCreate CoreRt 5.0 CoreRt 5.0 10000 1,559.43 us 13.380 us 11.173 us 1.00 0.00
MapCreate CoreRt 3.1 CoreRt 3.1 100000 128,211.08 us 2,501.998 us 2,978.451 us 5.59 0.34
DicCreate CoreRt 3.1 CoreRt 3.1 100000 22,903.89 us 452.469 us 1,012.013 us 1.00 0.00
MapCreate CoreRt 5.0 CoreRt 5.0 100000 127,290.92 us 2,483.155 us 4,216.586 us 5.49 0.27
DicCreate CoreRt 5.0 CoreRt 5.0 100000 23,192.56 us 462.179 us 944.109 us 1.00 0.00
MapCreate CoreRt 3.1 CoreRt 3.1 1000000 1,368,103.75 us 15,963.021 us 14,931.820 us 6.56 0.16
DicCreate CoreRt 3.1 CoreRt 3.1 1000000 208,745.61 us 3,835.887 us 3,588.091 us 1.00 0.00
MapCreate CoreRt 5.0 CoreRt 5.0 1000000 1,388,592.45 us 20,519.804 us 19,194.238 us 6.89 0.12
DicCreate CoreRt 5.0 CoreRt 5.0 1000000 201,605.65 us 2,623.536 us 2,454.057 us 1.00 0.00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment