diff options
author | ziv <ziv@mit.edu> | 2015-11-15 18:10:24 -0500 |
---|---|---|
committer | ziv <ziv@mit.edu> | 2015-11-15 18:10:24 -0500 |
commit | 96537889753c222279e3937495dbc56054b377b9 (patch) | |
tree | f827eebda9bd4ae367a3690d57f313342a839797 /caching-tests | |
parent | ed7b5e6f956c5b13735cc3e5c4de01fbfc437e12 (diff) |
Add small benchmark (WIP).
Diffstat (limited to 'caching-tests')
-rw-r--r-- | caching-tests/bench.ur | 24 | ||||
-rw-r--r-- | caching-tests/bench.urp | 5 | ||||
-rw-r--r-- | caching-tests/bench.urs | 1 | ||||
-rw-r--r-- | caching-tests/test.urp | 2 |
4 files changed, 31 insertions, 1 deletions
diff --git a/caching-tests/bench.ur b/caching-tests/bench.ur new file mode 100644 index 00000000..0c7bb674 --- /dev/null +++ b/caching-tests/bench.ur @@ -0,0 +1,24 @@ +table tab : {Id : int, Val : int} PRIMARY KEY Id + +fun check id = + res <- oneOrNoRows (SELECT tab.Val FROM tab WHERE tab.Id = {[id]}); + return <xml><body> + {case res of + None => <xml>?</xml> + | Some row => <xml>{[row.Tab.Val]}</xml>} + </body></xml> + +fun flush id = + dml (UPDATE tab SET Val = Val + 1 WHERE Id = {[id]}); + return <xml><body> + Changed {[id]}! + </body></xml> + +fun main x y = + r <- rand; + let + val id = r % x + val doFlush = (r / x) % y = 0 + in + if doFlush then flush id else check id + end diff --git a/caching-tests/bench.urp b/caching-tests/bench.urp new file mode 100644 index 00000000..e2c16376 --- /dev/null +++ b/caching-tests/bench.urp @@ -0,0 +1,5 @@ +database host=localhost +sql bench.sql +safeGet Bench/main + +bench diff --git a/caching-tests/bench.urs b/caching-tests/bench.urs new file mode 100644 index 00000000..0f780541 --- /dev/null +++ b/caching-tests/bench.urs @@ -0,0 +1 @@ +val main : int -> int -> transaction page diff --git a/caching-tests/test.urp b/caching-tests/test.urp index dd8cf774..07922e69 100644 --- a/caching-tests/test.urp +++ b/caching-tests/test.urp @@ -1,4 +1,4 @@ -database host=localhost dbname=ziv +database host=localhost sql test.sql safeGet Test/flush safeGet Test/flash |