diff options
Diffstat (limited to 'tcllib/modules/base64/uuencode.bench')
-rw-r--r-- | tcllib/modules/base64/uuencode.bench | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tcllib/modules/base64/uuencode.bench b/tcllib/modules/base64/uuencode.bench new file mode 100644 index 0000000..714cfe9 --- /dev/null +++ b/tcllib/modules/base64/uuencode.bench @@ -0,0 +1,46 @@ +# -*- tcl -*- +# Tcl Benchmark File +# +# This file contains a number of benchmarks for the 'uuencode' 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 uuencode +catch {namespace delete ::uuencode} +source [file join [file dirname [info script]] uuencode.tcl] + +# ### ### ### ######### ######### ######### ########################### +## Benchmarks. + + +foreach n {10 100 1000 10000} { + bench -desc "UUENCODE encode ${n}X" -pre { + set str [string repeat X $n] + } -body { + uuencode::encode $str + } -post { + unset str + } + + bench -desc "UUENCODE decode ${n}X" -pre { + set str [uuencode::encode [string repeat X $n]] + } -body { + uuencode::decode $str + } -post { + unset str + } +} + +# ### ### ### ######### ######### ######### ########################### +## Complete |