diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-12-21 22:47:21 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-12-21 22:47:21 (GMT) |
commit | 5514e37335c012cc70f5b9aee3cedfe3d57f583f (patch) | |
tree | 4ba7d8aad13735e52f59bdce7ca5ba3151ebd7e3 /tcl8.6/tests/assemble1.bench | |
parent | 768f87f613cc9789fcf8073018fa02178c8c91df (diff) | |
download | blt-5514e37335c012cc70f5b9aee3cedfe3d57f583f.zip blt-5514e37335c012cc70f5b9aee3cedfe3d57f583f.tar.gz blt-5514e37335c012cc70f5b9aee3cedfe3d57f583f.tar.bz2 |
undo subtree
Diffstat (limited to 'tcl8.6/tests/assemble1.bench')
-rw-r--r-- | tcl8.6/tests/assemble1.bench | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/tcl8.6/tests/assemble1.bench b/tcl8.6/tests/assemble1.bench deleted file mode 100644 index 18fd3a9..0000000 --- a/tcl8.6/tests/assemble1.bench +++ /dev/null @@ -1,85 +0,0 @@ -proc ulam1 {n} { - set max $n - while {$n != 1} { - if {$n > $max} { - set max $n - } - if {$n % 2} { - set n [expr {3 * $n + 1}] - } else { - set n [expr {$n / 2}] - } - } - return $max -} - -set tcl_traceCompile 2; ulam1 1; set tcl_traceCompile 0 - -proc ulam2 {n} { - tcl::unsupported::assemble { - load n; # max - dup; # max n - jump start; # max n - - label loop; # max n - over 1; # max n max - over 1; # max in max n - ge; # man n max>=n - jumpTrue skip; # max n - - reverse 2; # n max - pop; # n - dup; # n n - - label skip; # max n - dup; # max n n - push 2; # max n n 2 - mod; # max n n%2 - jumpTrue odd; # max n - - push 2; # max n 2 - div; # max n/2 -> max n - jump start; # max n - - label odd; # max n - push 3; # max n 3 - mult; # max 3*n - push 1; # max 3*n 1 - add; # max 3*n+1 - - label start; # max n - dup; # max n n - push 1; # max n n 1 - neq; # max n n>1 - jumpTrue loop; # max n - - pop; # max - } -} -set tcl_traceCompile 2; ulam2 1; set tcl_traceCompile 0 - -proc test1 {n} { - for {set i 1} {$i <= $n} {incr i} { - ulam1 $i - } -} -proc test2 {n} { - for {set i 1} {$i <= $n} {incr i} { - ulam2 $i - } -} - -for {set j 0} {$j < 10} {incr j} { - test1 1 - set before [clock microseconds] - test1 30000 - set after [clock microseconds] - puts "compiled: [expr {1e-6 * ($after - $before)}]" - - test2 1 - set before [clock microseconds] - test2 30000 - set after [clock microseconds] - puts "assembled: [expr {1e-6 * ($after - $before)}]" -} -
\ No newline at end of file |