aboutsummaryrefslogtreecommitdiffstats
path: root/benchmark
diff options
context:
space:
mode:
authorVladimir Dementyev <dementiev.vm@gmail.com>2020-03-03 18:45:57 -0500
committerKazuki Tsujimoto <kazuki@callcc.net>2020-06-27 13:51:03 +0900
commit6770d8f1b066908e5fb7401860fd6455df961281 (patch)
treedef1861799b08214ee27b40ed344adb80fc032d1 /benchmark
parentd6c9c014e2dd85b3aee1d02f561f1376f266870b (diff)
downloadruby-6770d8f1b066908e5fb7401860fd6455df961281.tar.gz
Add pattern matching with arrays benchmark
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/pm_array.yml19
1 files changed, 19 insertions, 0 deletions
diff --git a/benchmark/pm_array.yml b/benchmark/pm_array.yml
new file mode 100644
index 0000000000..babb65a289
--- /dev/null
+++ b/benchmark/pm_array.yml
@@ -0,0 +1,19 @@
+prelude: |
+ def call(*val)
+ case val
+ in [String => body]
+ [200, {}, [body]]
+ in [Integer => status]
+ [status, {}, [""]]
+ in [Integer, String] => response
+ [response[0], {}, [response[1]]]
+ in [Integer, Hash, String] => response
+ [response[0], response[1], [response[2]]]
+ end
+ end
+
+benchmark:
+ first_match: call("ok")
+ second_match: call(401)
+ third_match: call(200, "ok")
+ fourth_match: call(201, {}, "created")