mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-20 20:19:32 +00:00
ICU-4362 Add collation regression test and windows, posix, icu collation comparison test.
X-SVN-Rev: 23747
This commit is contained in:
parent
0c93b2807d
commit
b88b4e3247
3 changed files with 142 additions and 49 deletions
1
.gitattributes
vendored
1
.gitattributes
vendored
|
@ -77,6 +77,7 @@ icu4c/source/test/perf/collationperf/CollPerf.pl -text
|
|||
icu4c/source/test/perf/collationperf/Makefile.in -text
|
||||
icu4c/source/test/perf/collationperf/collperf.cpp -text
|
||||
icu4c/source/test/perf/collationperf/readme.html -text
|
||||
icu4c/source/test/perf/collperf/CollPerf_r.pl -text
|
||||
icu4c/source/test/perf/convperf/Makefile.in -text
|
||||
icu4c/source/test/perf/perldriver/Common.pl -text
|
||||
icu4c/source/test/testdata/TestFont1.otf -text
|
||||
|
|
|
@ -1,81 +1,94 @@
|
|||
#!/usr/bin/perl -w
|
||||
#!/usr/bin/perl
|
||||
# ********************************************************************
|
||||
# * COPYRIGHT:
|
||||
# * Copyright (c) 2005, International Business Machines Corporation and
|
||||
# * Copyright (c) 2005-2008, International Business Machines Corporation and
|
||||
# * others. All Rights Reserved.
|
||||
# ********************************************************************
|
||||
|
||||
use strict;
|
||||
#use strict;
|
||||
|
||||
use lib '../perldriver';
|
||||
|
||||
require "../perldriver/Common.pl";
|
||||
|
||||
use PerfFramework;
|
||||
|
||||
# This test should be run on Windows.
|
||||
if (!$OnWindows) {
|
||||
print "This test should be run on Windows.\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
my $options = {
|
||||
"title"=>"Collation performance: ICU,POSIX,and Win",
|
||||
"headers"=>"ICU_POSIX_WIN",
|
||||
"headers"=>"ICU POSIX WIN",
|
||||
"operationIs"=>"unicode String",
|
||||
"passes"=>"1",
|
||||
"time"=>"2",
|
||||
#"outputType"=>"HTML",
|
||||
"dataDir"=>"../data",
|
||||
"outputDir"=>"../results"
|
||||
"dataDir"=>$CollationDataPath,
|
||||
"outputDir"=>"../results"
|
||||
};
|
||||
|
||||
# programs
|
||||
# tests will be done for all the programs. Results will be stored and connected
|
||||
my $p = "debug/collperf.exe ";
|
||||
my $p = $ICUPathLatest."/collperf/Release/collperf.exe";
|
||||
|
||||
my $tests = {
|
||||
"Key Gen ICU null", ["$p TestIcu_KeyGen_null"],
|
||||
"Key Gen ICU len", ["$p TestIcu_KeyGen_len"],
|
||||
"Key Gen POSIX", ["$p TestPosix_KeyGen_null"],
|
||||
"Key Gen Win", ["$p TestWin_KeyGen_null"],
|
||||
"Iteration icu forward null", ["$p TestIcu_ForwardIter_null"],
|
||||
"Iteration icu forward len", ["$p TestIcu_ForwardIter_len"],
|
||||
"Iteration icu backward null", ["$p TestIcu_BackwardIter_null"],
|
||||
"Iteration icu backward len", ["$p TestIcu_BackwardIter_len"],
|
||||
"Iteration/all icu forward null", ["$p TestIcu_ForwardIter_all_null"],
|
||||
"Iteration/all icu forward len", ["$p TestIcu_ForwardIter_all_len"],
|
||||
"Iteration/all icu backward null", ["$p TestIcu_BackwardIter_all_null"],
|
||||
"Iteration/all icu backward len", ["$p TestIcu_BackwardIter_all_len"],
|
||||
"qsort icu strcoll null", ["$p TestIcu_qsort_strcoll_null"],
|
||||
"qsort icu strcoll len", ["$p TestIcu_qsort_strcoll_len"],
|
||||
"qsort icu use key", ["$p TestIcu_qsort_usekey"],
|
||||
"qsort posix strcoll null", ["$p TestPosix_qsort_strcoll_null"],
|
||||
"qsort posix use key", ["$p TestPosix_qsort_usekey"],
|
||||
"qsort win CompareStringW null", ["$p TestWin_qsort_CompareStringW_null"],
|
||||
"qsort win CompareStringW len", ["$p TestWin_qsort_CompareStringW_len"],
|
||||
"qsort win use key", ["$p TestWin_qsort_usekey"],
|
||||
"Binary Search icu strcoll null", ["$p TestIcu_BinarySearch_strcoll_null"],
|
||||
"Binary Search icu strcoll len", ["$p TestIcu_BinarySearch_strcoll_len"],
|
||||
"Binary Search icu use key", ["$p TestIcu_BinarySearch_usekey"],
|
||||
"Binary Search icu u_strcmp", ["$p TestIcu_BinarySearch_strcmp"],
|
||||
"Binary Search icu cmpCPO", ["$p TestIcu_BinarySearch_cmpCPO"],
|
||||
"Binary Search posix strcoll null", ["$p TestPosix_BinarySearch_strcoll_null"],
|
||||
"Binary Search posix use key", ["$p TestPosix_BinarySearch_usekey"],
|
||||
"Binary Search win CompareStringW null", ["$p TestWin_BinarySearch_CompareStringW_null"],
|
||||
"Binary Search win CompareStringW len", ["$p TestWin_BinarySearch_CompareStringW_len"],
|
||||
"Binary Search win use key", ["$p TestWin_BinarySearch_usekey"],
|
||||
"Binary Search win wcscmp", ["$p TestWin_BinarySearch_wcscmp"],
|
||||
"Key Gen null", ["$p TestIcu_KeyGen_null", "$p TestPosix_KeyGen_null", "$p TestWin_KeyGen_null"],
|
||||
"qsort strcoll null", ["$p TestIcu_qsort_strcoll_null", "$p TestPosix_qsort_strcoll_null", "$p TestWin_qsort_CompareStringW_null"],
|
||||
"qsort use key", ["$p TestIcu_qsort_usekey", "$p TestPosix_qsort_usekey", "$p TestWin_qsort_usekey"],
|
||||
"Binary Search icu strcoll null", ["$p TestIcu_BinarySearch_strcoll_null", "$p TestPosix_BinarySearch_strcoll_null", "$p TestWin_BinarySearch_CompareStringW_null"],
|
||||
"Binary Search icu use key", ["$p TestIcu_BinarySearch_usekey", "$p TestPosix_BinarySearch_usekey", "$p TestWin_BinarySearch_usekey"],
|
||||
# These are the original test. They are commented out to so that the above test can run and compare certain aspects of collation.
|
||||
#"Key Gen ICU null", ["$p TestIcu_KeyGen_null"],
|
||||
#"Key Gen ICU len", ["$p TestIcu_KeyGen_len"],
|
||||
#"Key Gen POSIX", ["$p TestPosix_KeyGen_null"],
|
||||
#"Key Gen Win", ["$p TestWin_KeyGen_null"],
|
||||
#"Iteration icu forward null", ["$p TestIcu_ForwardIter_null"],
|
||||
#"Iteration icu forward len", ["$p TestIcu_ForwardIter_len"],
|
||||
#"Iteration icu backward null", ["$p TestIcu_BackwardIter_null"],
|
||||
#"Iteration icu backward len", ["$p TestIcu_BackwardIter_len"],
|
||||
#"Iteration/all icu forward null", ["$p TestIcu_ForwardIter_all_null"],
|
||||
#"Iteration/all icu forward len", ["$p TestIcu_ForwardIter_all_len"],
|
||||
#"Iteration/all icu backward null", ["$p TestIcu_BackwardIter_all_null"],
|
||||
#"Iteration/all icu backward len", ["$p TestIcu_BackwardIter_all_len"],
|
||||
#"qsort icu strcoll null", ["$p TestIcu_qsort_strcoll_null"],
|
||||
#"qsort icu strcoll len", ["$p TestIcu_qsort_strcoll_len"],
|
||||
#"qsort icu use key", ["$p TestIcu_qsort_usekey"],
|
||||
#"qsort posix strcoll null", ["$p TestPosix_qsort_strcoll_null"],
|
||||
#"qsort posix use key", ["$p TestPosix_qsort_usekey"],
|
||||
#"qsort win CompareStringW null", ["$p TestWin_qsort_CompareStringW_null"],
|
||||
#"qsort win CompareStringW len", ["$p TestWin_qsort_CompareStringW_len"],
|
||||
#"qsort win use key", ["$p TestWin_qsort_usekey"],
|
||||
#"Binary Search icu strcoll null", ["$p TestIcu_BinarySearch_strcoll_null"],
|
||||
#"Binary Search icu strcoll len", ["$p TestIcu_BinarySearch_strcoll_len"],
|
||||
#"Binary Search icu use key", ["$p TestIcu_BinarySearch_usekey"],
|
||||
#"Binary Search icu u_strcmp", ["$p TestIcu_BinarySearch_strcmp"],
|
||||
#"Binary Search icu cmpCPO", ["$p TestIcu_BinarySearch_cmpCPO"],
|
||||
#"Binary Search posix strcoll null", ["$p TestPosix_BinarySearch_strcoll_null"],
|
||||
#"Binary Search posix use key", ["$p TestPosix_BinarySearch_usekey"],
|
||||
#"Binary Search win CompareStringW null", ["$p TestWin_BinarySearch_CompareStringW_null"],
|
||||
#"Binary Search win CompareStringW len", ["$p TestWin_BinarySearch_CompareStringW_len"],
|
||||
#"Binary Search win use key", ["$p TestWin_BinarySearch_usekey"],
|
||||
#"Binary Search win wcscmp", ["$p TestWin_BinarySearch_wcscmp"],
|
||||
};
|
||||
|
||||
my $dataFiles = {
|
||||
"",
|
||||
[
|
||||
"TestNames_Asian.txt",
|
||||
# "TestNames_Chinese.txt",
|
||||
# "TestNames_Japanese.txt",
|
||||
# "TestNames_Japanese_h.txt",
|
||||
# "TestNames_Japanese_k.txt",
|
||||
# "TestNames_Korean.txt",
|
||||
# "TestNames_Latin.txt",
|
||||
# "Testnames_Russian.txt",
|
||||
# "TestNames_SerbianSH.txt",
|
||||
# "TestNames_SerbianSR.txt",
|
||||
# "TestNames_Simplified_Chinese.txt",
|
||||
# "TestNames_Thai.txt"
|
||||
"TestNames_Chinese.txt",
|
||||
"TestNames_Japanese.txt",
|
||||
"TestNames_Japanese_h.txt",
|
||||
"TestNames_Japanese_k.txt",
|
||||
"TestNames_Korean.txt",
|
||||
"TestNames_Latin.txt",
|
||||
"Testnames_Russian.txt",
|
||||
"TestNames_SerbianSH.txt",
|
||||
"TestNames_SerbianSR.txt",
|
||||
"TestNames_Simplified_Chinese.txt",
|
||||
"TestNames_Thai.txt"
|
||||
]
|
||||
};
|
||||
|
||||
|
|
79
icu4c/source/test/perf/collperf/CollPerf_r.pl
Normal file
79
icu4c/source/test/perf/collperf/CollPerf_r.pl
Normal file
|
@ -0,0 +1,79 @@
|
|||
#!/usr/bin/perl
|
||||
# ********************************************************************
|
||||
# * COPYRIGHT:
|
||||
# * Copyright (c) 2008, International Business Machines Corporation and
|
||||
# * others. All Rights Reserved.
|
||||
# ********************************************************************
|
||||
|
||||
#use strict;
|
||||
|
||||
use lib '../perldriver';
|
||||
|
||||
require "../perldriver/Common.pl";
|
||||
|
||||
use PerfFramework;
|
||||
|
||||
my $options = {
|
||||
"title"=>"Collation performanceregression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")",
|
||||
"headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion,
|
||||
"operationIs"=>"unicode String",
|
||||
"passes"=>"1",
|
||||
"time"=>"2",
|
||||
#"outputType"=>"HTML",
|
||||
"dataDir"=>$CollationDataPath,
|
||||
"outputDir"=>"../results"
|
||||
};
|
||||
|
||||
# programs
|
||||
# tests will be done for all the programs. Results will be stored and connected
|
||||
my $p1, $p2;
|
||||
|
||||
if ($OnWindows) {
|
||||
$p1 = $ICUPathPrevious."/collperf/Release/collperf.exe";
|
||||
$p2 = $ICUPathLatest."/collperf/Release/collperf.exe";
|
||||
} else {
|
||||
$p1 = $ICUPathPrevious."/collperf/collperf";
|
||||
$p2 = $ICUPathLatest."/collperf/collperf";
|
||||
}
|
||||
|
||||
|
||||
my $tests = {
|
||||
"Key Gen ICU null", ["$p1 TestIcu_KeyGen_null", "$p2 TestIcu_KeyGen_null"],
|
||||
"Key Gen ICU len", ["$p1 TestIcu_KeyGen_len", "$p2 TestIcu_KeyGen_len"],
|
||||
"Iteration icu forward null", ["$p1 TestIcu_ForwardIter_null", "$p2 TestIcu_ForwardIter_null"],
|
||||
"Iteration icu forward len", ["$p1 TestIcu_ForwardIter_len", "$p2 TestIcu_ForwardIter_len"],
|
||||
"Iteration icu backward null", ["$p1 TestIcu_BackwardIter_null", "$p2 TestIcu_BackwardIter_null"],
|
||||
"Iteration icu backward len", ["$p1 TestIcu_BackwardIter_len", "$p2 TestIcu_BackwardIter_len"],
|
||||
"Iteration/all icu forward null", ["$p1 TestIcu_ForwardIter_all_null", "$p2 TestIcu_ForwardIter_all_null"],
|
||||
"Iteration/all icu forward len", ["$p1 TestIcu_ForwardIter_all_len", "$p2 TestIcu_ForwardIter_all_len"],
|
||||
"Iteration/all icu backward null", ["$p1 TestIcu_BackwardIter_all_null", "$p2 TestIcu_BackwardIter_all_null"],
|
||||
"Iteration/all icu backward len", ["$p1 TestIcu_BackwardIter_all_len", "$p2 TestIcu_BackwardIter_all_len"],
|
||||
"qsort icu strcoll null", ["$p1 TestIcu_qsort_strcoll_null", "$p2 TestIcu_qsort_strcoll_null"],
|
||||
"qsort icu strcoll len", ["$p1 TestIcu_qsort_strcoll_len", "$p2 TestIcu_qsort_strcoll_len"],
|
||||
"qsort icu use key", ["$p1 TestIcu_qsort_usekey", "$p2 TestIcu_qsort_usekey"],
|
||||
"Binary Search icu strcoll null", ["$p1 TestIcu_BinarySearch_strcoll_null", "$p2 TestIcu_BinarySearch_strcoll_null"],
|
||||
"Binary Search icu strcoll len", ["$p1 TestIcu_BinarySearch_strcoll_len", "$p2 TestIcu_BinarySearch_strcoll_len"],
|
||||
"Binary Search icu use key", ["$p1 TestIcu_BinarySearch_usekey", "$p2 TestIcu_BinarySearch_usekey"],
|
||||
"Binary Search icu u_strcmp", ["$p1 TestIcu_BinarySearch_strcmp", "$p2 TestIcu_BinarySearch_strcmp"],
|
||||
"Binary Search icu cmpCPO", ["$p1 TestIcu_BinarySearch_cmpCPO", "$p2 TestIcu_BinarySearch_cmpCPO"],
|
||||
};
|
||||
|
||||
my $dataFiles = {
|
||||
"",
|
||||
[
|
||||
"TestNames_Asian.txt",
|
||||
"TestNames_Chinese.txt",
|
||||
"TestNames_Japanese.txt",
|
||||
"TestNames_Japanese_h.txt",
|
||||
"TestNames_Japanese_k.txt",
|
||||
"TestNames_Korean.txt",
|
||||
"TestNames_Latin.txt",
|
||||
"Testnames_Russian.txt",
|
||||
"TestNames_SerbianSH.txt",
|
||||
"TestNames_SerbianSR.txt",
|
||||
"TestNames_Simplified_Chinese.txt",
|
||||
"TestNames_Thai.txt"
|
||||
]
|
||||
};
|
||||
|
||||
runTests($options, $tests, $dataFiles);
|
Loading…
Add table
Reference in a new issue