From 7dd8ca150e3477da71c15ec420a624f9a736d383 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sun, 20 Apr 2008 06:28:18 -0500 Subject: [PATCH] Add binary-trees benchmark from shootout --- extra/benchmark/binary-trees/binary-trees.factor | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/extra/benchmark/binary-trees/binary-trees.factor b/extra/benchmark/binary-trees/binary-trees.factor index e82f9dbc1d..be4620bff6 100644 --- a/extra/benchmark/binary-trees/binary-trees.factor +++ b/extra/benchmark/binary-trees/binary-trees.factor @@ -28,7 +28,7 @@ M: f item-check drop 0 ; : stretch-tree ( max-depth -- ) 1 + 0 over bottom-up-tree item-check [ "stretch tree of depth " write pprint ] - [ "\t check: " write ] bi* ; + [ "\t check: " write . ] bi* ; :: long-lived-tree ( max-depth -- ) 0 max-depth bottom-up-tree @@ -36,8 +36,8 @@ M: f item-check drop 0 ; min-depth max-depth 2 [| depth | max-depth depth - min-depth + 2^ [ [1,b] 0 [ - [ depth ] [ depth neg ] bi - [ bottom-up-tree item-check + ] 2bi@ + dup neg + [ depth bottom-up-tree item-check + ] bi@ ] reduce ] [ 2 * ] bi @@ -47,3 +47,9 @@ M: f item-check drop 0 ; "long lived tree of depth " write max-depth pprint "\t check: " write item-check . ; + +: binary-trees ( n -- ) + min-depth 2 + max [ stretch-tree ] [ long-lived-tree ] bi ; + +: binary-trees-main ( -- ) + 16 binary-trees ;