/
rgd045
/
tcllib
Обзор
Документация
Войти
/
rgd045
/
tcllib
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
modules/textutil/string.bench
116 строк
3 KB
Rolfe Ade
More work on minimum Tcl version requirement, package vsatisfies and removing code for older versions.
28 авг 2023, 02:27
28 авг 2023, 02:27
f10f935
Код
Авторство
О чём код?
# -*- tcl -*- # Tcl Benchmark File # # This file contains a number of benchmarks for the 'textutil::string' # module. This allow developers to monitor/gauge/track package # performance. # # (c) 2008 Michael Schlenker <mic42@sourceforge.net> # We need at least version 8.5 for the package and thus the # benchmarks. if {![package vsatisfies [package provide Tcl] 8.5 9]} { return } # ### ### ### ######### ######### ######### ########################### ## Setting up the environment ... package forget log catch {namespace delete ::log} source [file join [file dirname [file dirname [info script]]] log log.tcl] package forget textutil::string catch {namespace delete ::textutil} source [file join [file dirname [info script]] string.tcl] # ### ### ### ######### ######### ######### ########################### ## Benchmarks. foreach n {1 10 100 1000 5000} { bench -desc "longestCommonPrefixList - $n char match - 2 elements list" -pre { set list [list [string repeat a $n]b [string repeat a $n]c] } -body { set prefix [::textutil::string::longestCommonPrefixList $list] } -post { unset list unset prefix } } foreach n {1 10 100 1000 5000} { bench -desc "longestCommonPrefixList - 10 char match - $n elements list" -pre { set elem [string repeat a 10] for {set i 0} {$i < $n} {incr i} { lappend list "$elem$i" } } -body { set prefix [::textutil::string::longestCommonPrefixList $list] } -post { unset list unset prefix } } foreach n {1 10 100 1000 5000} { bench -desc "longestCommonPrefixList - no match - $n elements list" -pre { set elem [string repeat a 10] for {set i 0} {$i < $n} {incr i} { lappend list "$elem$i" } lappend list "NOPREFIX" } -body { set prefix [::textutil::string::longestCommonPrefixList $list] } -post { unset list unset prefix } } foreach n {1 10 100 1000 5000} { bench -desc "chop one char from $n char string" -pre { set str [string repeat a $n] } -body { set chopped [::textutil::string::chop $str] } -post { unset str unset chopped } } foreach n {1 10 100 1000 5000} { bench -desc "tail one char from $n char string" -pre { set str [string repeat a $n] } -body { set tailed [::textutil::string::tail $str] } -post { unset str unset tailed } } foreach n {1 10 100 1000 5000} { bench -desc "cap from $n char string" -pre { set str [string repeat a $n] } -body { set capped [::textutil::string::cap $str] } -post { unset str unset capped } } foreach n {1 10 100 1000 5000} { bench -desc "uncap from $n char string" -pre { set str [string repeat a $n] } -body { set uncapped [::textutil::string::uncap $str] } -post { unset str unset uncapped } } # ### ### ### ######### ######### ######### ########################### ## Complete