diff options
Diffstat (limited to 'tcllib/modules/base64/yencode.bench')
-rw-r--r-- | tcllib/modules/base64/yencode.bench | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tcllib/modules/base64/yencode.bench b/tcllib/modules/base64/yencode.bench new file mode 100644 index 0000000..706acb5 --- /dev/null +++ b/tcllib/modules/base64/yencode.bench @@ -0,0 +1,46 @@ +# -*- tcl -*- +# Tcl Benchmark File +# +# This file contains a number of benchmarks for the 'yencode' module. +# This allow developers to monitor/gauge/track package performance. +# +# (c) 2005 Andreas Kupries <andreas_kupries@users.sourceforge.net> + +# We need at least version 8.2 for the package and thus the +# benchmarks. + +if {![package vsatisfies [package provide Tcl] 8.2]} { + return +} + +# ### ### ### ######### ######### ######### ########################### +## Setting up the environment ... + +package forget yencode +catch {namespace delete ::yencode} +source [file join [file dirname [info script]] yencode.tcl] + +# ### ### ### ######### ######### ######### ########################### +## Benchmarks. + + +foreach n {10 100 1000 10000} { + bench -desc "YENCODE encode ${n}X" -pre { + set str [string repeat X $n] + } -body { + yencode::encode $str + } -post { + unset str + } + + bench -desc "YENCODE decode ${n}X" -pre { + set str [yencode::encode [string repeat X $n]] + } -body { + yencode::decode $str + } -post { + unset str + } +} + +# ### ### ### ######### ######### ######### ########################### +## Complete |