/********************************************************************
* COPYRIGHT:
- * Copyright (C) 2008-2009 IBM, Inc. All Rights Reserved.
+ * Copyright (C) 2008-2012 IBM, Inc. All Rights Reserved.
*
********************************************************************/
/**
StringSearchPerformanceTest::StringSearchPerformanceTest(int32_t argc, const char *argv[], UErrorCode &status)
:UPerfTest(argc,argv,status){
int32_t start, end;
-
-#ifdef TEST_BOYER_MOORE_SEARCH
- bms = NULL;
-#else
srch = NULL;
-#endif
-
pttrn = NULL;
if(status== U_ILLEGAL_ARGUMENT_ERROR || line_mode){
fprintf(stderr,gUsageString, "strsrchperf");
pttrn = temp; /* store word in pttrn */
#endif
-#ifdef TEST_BOYER_MOORE_SEARCH
- UnicodeString patternString(pttrn, pttrnLen);
- UCollator *coll = ucol_open(locale, &status);
- CollData *data = CollData::open(coll, status);
-
- targetString = new UnicodeString(src, srcLen);
- bms = new BoyerMooreSearch(data, patternString, targetString, status);
-#else
/* Create the StringSearch object to be use in performance test. */
srch = usearch_open(pttrn, pttrnLen, src, srcLen, locale, NULL, &status);
-#endif
if(U_FAILURE(status)){
fprintf(stderr, "FAILED to create UPerfTest object. Error: %s\n", u_errorName(status));
}
StringSearchPerformanceTest::~StringSearchPerformanceTest() {
- CollData *data = bms->getData();
- UCollator *coll = data->getCollator();
-
- delete bms;
- delete targetString;
- CollData::close(data);
- ucol_close(coll);
-
if (pttrn != NULL) {
free(pttrn);
}
-
-#ifndef TEST_BOYER_MOORE_SEARCH
if (srch != NULL) {
usearch_close(srch);
}
-#endif
}
UPerfFunction* StringSearchPerformanceTest::runIndexedTest(int32_t index, UBool exec, const char *&name, char *par) {
}
UPerfFunction* StringSearchPerformanceTest::Test_ICU_Forward_Search(){
-#ifdef TEST_BOYER_MOORE_SEARCH
- StringSearchPerfFunction *func = new StringSearchPerfFunction(ICUForwardSearch, bms, src, srcLen, pttrn, pttrnLen);
-#else
StringSearchPerfFunction* func = new StringSearchPerfFunction(ICUForwardSearch, srch, src, srcLen, pttrn, pttrnLen);
-#endif
return func;
}
UPerfFunction* StringSearchPerformanceTest::Test_ICU_Backward_Search(){
-#ifdef TEST_BOYER_MOORE_SEARCH
- StringSearchPerfFunction *func = new StringSearchPerfFunction(ICUBackwardSearch, bms, src, srcLen, pttrn, pttrnLen);
-#else
StringSearchPerfFunction* func = new StringSearchPerfFunction(ICUBackwardSearch, srch, src, srcLen, pttrn, pttrnLen);
-#endif
return func;
}