From: Vadim Zeitlin Date: Wed, 30 Jul 2008 13:56:17 +0000 (+0000) Subject: added some Replace() benchmarks (#9802) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/9729777e2af04af8d16c60bc7762272951c6bf12 added some Replace() benchmarks (#9802) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/tests/benchmarks/strings.cpp b/tests/benchmarks/strings.cpp index e86b629e96..321a860f4a 100644 --- a/tests/benchmarks/strings.cpp +++ b/tests/benchmarks/strings.cpp @@ -222,3 +222,37 @@ BENCHMARK_FUNC(ForStringRIter) return true; } +// ---------------------------------------------------------------------------- +// wxString::Replace() +// ---------------------------------------------------------------------------- + +const size_t REPLACE_STR_LEN = 1000; + +BENCHMARK_FUNC(ReplaceLoop) +{ + wxString str('x', REPLACE_STR_LEN); + for ( size_t n = 0; n < REPLACE_STR_LEN; n++ ) + { + if ( str[n] == 'a' ) + str[n] = 'z'; + } + + return str.length() != 0; +} + +BENCHMARK_FUNC(ReplaceMiss) +{ + wxString str('x', REPLACE_STR_LEN); + str.Replace("a", "z"); + + return str.length() != 0; +} + +BENCHMARK_FUNC(ReplaceHit) +{ + wxString str('x', REPLACE_STR_LEN); + str.Replace("x", "y"); + + return str.length() != 0; +} +