From be38ba6c5e097d3e36c9113650bc7f0aeedf770b Mon Sep 17 00:00:00 2001 From: Feoramund <161657516+Feoramund@users.noreply.github.com> Date: Sun, 21 Jul 2024 23:20:32 -0400 Subject: [PATCH] Add benchmarks for `core:text/regex` --- tests/benchmark/all.odin | 1 + .../benchmark/text/regex/benchmark_regex.odin | 258 ++++++++++++++++++ 2 files changed, 259 insertions(+) create mode 100644 tests/benchmark/text/regex/benchmark_regex.odin diff --git a/tests/benchmark/all.odin b/tests/benchmark/all.odin index d1b7662e2..36de14278 100644 --- a/tests/benchmark/all.odin +++ b/tests/benchmark/all.odin @@ -2,3 +2,4 @@ package benchmarks @(require) import "crypto" @(require) import "hash" +@(require) import "text/regex" diff --git a/tests/benchmark/text/regex/benchmark_regex.odin b/tests/benchmark/text/regex/benchmark_regex.odin new file mode 100644 index 000000000..cd9812b08 --- /dev/null +++ b/tests/benchmark/text/regex/benchmark_regex.odin @@ -0,0 +1,258 @@ +package benchmark_core_text_regex + +import "core:fmt" +import "core:log" +import "core:math/rand" +import "core:mem" +import "core:testing" +import "core:text/regex" +import "core:time" +import "core:unicode/utf8" + +randomize_ascii :: proc(data: []u8) { + for i in 0.. len(data) - i { + continue + } + + r_data, size := utf8.encode_rune(r) + for j in 0..