Skip to content

Commit 48c6e42

Browse files
committed
Fix a benchmark being executed only once per iteration for some reason.
1 parent 53d09db commit 48c6e42

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

Diff for: tests/Farkle.Benchmarks/GrammarReaderBenchmark.fs

+10-5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ type GrammarReaderBenchmark() =
1616

1717
let mutable base64EGT = ""
1818

19+
[<VolatileField>]
20+
let mutable builtGrammar = Unchecked.defaultof<_>
21+
1922
[<GlobalSetup>]
2023
member __.Setup() =
2124
let bytes = File.ReadAllBytes "gml.egt"
@@ -25,9 +28,11 @@ type GrammarReaderBenchmark() =
2528
member __.Base64EGT() =
2629
base64EGT |> EGT.ofBase64String
2730

28-
[<Benchmark>]
31+
[<Benchmark(OperationsPerInvoke = 100)>]
2932
member __.BuildGrammar() =
30-
GOLDMetaLanguage.designtime
31-
|> DesigntimeFarkleBuild.createGrammarDefinition
32-
|> DesigntimeFarkleBuild.buildGrammarOnly
33-
|> returnOrFail
33+
for __ = 0 to 99 do
34+
builtGrammar <-
35+
GOLDMetaLanguage.designtime
36+
|> DesigntimeFarkleBuild.createGrammarDefinition
37+
|> DesigntimeFarkleBuild.buildGrammarOnly
38+
|> returnOrFail

0 commit comments

Comments
 (0)