Skip to content

Instantly share code, notes, and snippets.

@Tarmil
Created June 18, 2020 17:46
Show Gist options
  • Save Tarmil/88634832d0496be34a820123063e6e6e to your computer and use it in GitHub Desktop.
Save Tarmil/88634832d0496be34a820123063e6e6e to your computer and use it in GitHub Desktop.

Revisions

  1. Tarmil created this gist Jun 18, 2020.
    28 changes: 28 additions & 0 deletions Benchmark.fs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    open System.Text.Json
    open System.Text.Json.Serialization
    open BenchmarkDotNet.Attributes
    open BenchmarkDotNet.Running

    type MyRecord =
    {
    x: int
    y: string
    }

    type Records() =

    let o = JsonSerializerOptions()
    do o.Converters.Add(JsonFSharpConverter())

    let r = { x = 1; y = "a" }

    [<Benchmark>]
    member _.BoleroJson() = Bolero.Json.Serialize(r)

    [<Benchmark>]
    member _.SystemTextJson() = JsonSerializer.Serialize(r, o)

    [<EntryPoint>]
    let main argv =
    BenchmarkRunner.Run<Records>() |> ignore
    0