From 72de9baddaa4708a4c4cc70cc9b09297f49efbb7 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Tue, 17 Jul 2012 16:02:00 -0700 Subject: [PATCH] benchmark.memoize: adding a benchmark for memoization. --- extra/benchmark/memoize/memoize.factor | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 extra/benchmark/memoize/memoize.factor diff --git a/extra/benchmark/memoize/memoize.factor b/extra/benchmark/memoize/memoize.factor new file mode 100644 index 0000000000..366e94e456 --- /dev/null +++ b/extra/benchmark/memoize/memoize.factor @@ -0,0 +1,18 @@ +! Copyright (C) 2012 John Benediktsson +! See http://factorcode.org/license.txt for BSD license. +USING: kernel math memoize sequences ; +IN: benchmark.memoize + +MEMO: mem1 ( n -- n ) 1 + ; +MEMO: mem2 ( n n -- n ) + ; +MEMO: mem3 ( n n n -- n ) + + ; +MEMO: mem4 ( n n n n -- n ) + + + ; + +: memoize-benchmark ( -- ) + 1000 [ + 1000 iota [ + [ mem1 ] keep [ mem2 ] 2keep [ mem3 ] 3keep mem4 drop + ] each + ] times ; + +MAIN: memoize-benchmark