From d773d99de5689cc83dfb11102bb05dab34928703 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Fri, 14 Oct 2011 18:10:49 -0700 Subject: [PATCH] benchmark.splay: adding a splay-tree benchmark. --- extra/benchmark/splay/splay.factor | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 extra/benchmark/splay/splay.factor diff --git a/extra/benchmark/splay/splay.factor b/extra/benchmark/splay/splay.factor new file mode 100644 index 0000000000..56364cd9fe --- /dev/null +++ b/extra/benchmark/splay/splay.factor @@ -0,0 +1,18 @@ + +USING: arrays assocs kernel math.ranges random sequences sets +sorting trees.splay ; + +IN: splay + +: initial-alist ( n -- alist ) + iota >array randomize dup zip ; + +: change-random ( newkeys splay keys -- splay' ) + swapd [ first pick delete-at first2 pick set-at ] 2each ; + +: run-splay ( -- ) + 100,000 initial-alist 10,000 cut + [ >splay ] [ randomize 10,000 head ] bi + change-random keys dup natural-sort assert= ; + +MAIN: run-splay