1# -*- tcl -*- 2# Tcl Benchmark File 3# 4# This file contains a number of benchmarks for the 'yencode' module. 5# This allow developers to monitor/gauge/track package performance. 6# 7# (c) 2005 Andreas Kupries <andreas_kupries@users.sourceforge.net> 8 9# We need at least version 8.2 for the package and thus the 10# benchmarks. 11 12if {![package vsatisfies [package provide Tcl] 8.2]} { 13 return 14} 15 16# ### ### ### ######### ######### ######### ########################### 17## Setting up the environment ... 18 19package forget yencode 20catch {namespace delete ::yencode} 21source [file join [file dirname [info script]] yencode.tcl] 22 23# ### ### ### ######### ######### ######### ########################### 24## Benchmarks. 25 26 27foreach n {10 100 1000 10000} { 28 bench -desc "YENCODE encode ${n}X" -pre { 29 set str [string repeat X $n] 30 } -body { 31 yencode::encode $str 32 } -post { 33 unset str 34 } 35 36 bench -desc "YENCODE decode ${n}X" -pre { 37 set str [yencode::encode [string repeat X $n]] 38 } -body { 39 yencode::decode $str 40 } -post { 41 unset str 42 } 43} 44 45# ### ### ### ######### ######### ######### ########################### 46## Complete 47