| Index: source/test/perf/DateFmtPerf/DateFmtPerf.cpp
|
| diff --git a/source/test/perf/DateFmtPerf/DateFmtPerf.cpp b/source/test/perf/DateFmtPerf/DateFmtPerf.cpp
|
| deleted file mode 100644
|
| index 66bd2e39976e9d18f9a5bd23be23cb1b0b5ddec6..0000000000000000000000000000000000000000
|
| --- a/source/test/perf/DateFmtPerf/DateFmtPerf.cpp
|
| +++ /dev/null
|
| @@ -1,290 +0,0 @@
|
| -/*
|
| -**********************************************************************
|
| -* Copyright (c) 2002-2014,International Business Machines
|
| -* Corporation and others. All Rights Reserved.
|
| -**********************************************************************
|
| -**********************************************************************
|
| -*/
|
| -
|
| -#include "DateFmtPerf.h"
|
| -#include "uoptions.h"
|
| -#include <stdio.h>
|
| -#include <fstream>
|
| -
|
| -#include <iostream>
|
| -using namespace std;
|
| -
|
| -DateFormatPerfTest::DateFormatPerfTest(int32_t argc, const char* argv[], UErrorCode& status)
|
| -: UPerfTest(argc,argv,status) {
|
| -
|
| - if (locale == NULL){
|
| - locale = "en_US"; // set default locale
|
| - }
|
| -}
|
| -
|
| -DateFormatPerfTest::~DateFormatPerfTest()
|
| -{
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::runIndexedTest(int32_t index, UBool exec,const char* &name, char* par) {
|
| -
|
| - //exec = true;
|
| -
|
| - switch (index) {
|
| - TESTCASE(0,DateFmt250);
|
| - TESTCASE(1,DateFmt10000);
|
| - TESTCASE(2,DateFmt100000);
|
| - TESTCASE(3,BreakItWord250);
|
| - TESTCASE(4,BreakItWord10000);
|
| - TESTCASE(5,BreakItChar250);
|
| - TESTCASE(6,BreakItChar10000);
|
| - TESTCASE(7,NumFmt10000);
|
| - TESTCASE(8,NumFmt100000);
|
| - TESTCASE(9,Collation10000);
|
| - TESTCASE(10,Collation100000);
|
| - TESTCASE(11, DIFCreate250);
|
| - TESTCASE(12, DIFCreate10000);
|
| - TESTCASE(13, TimeZoneCreate250);
|
| - TESTCASE(14, TimeZoneCreate10000);
|
| - TESTCASE(15, DTPatternGeneratorCreate250);
|
| - TESTCASE(16, DTPatternGeneratorCreate10000);
|
| - TESTCASE(17, DTPatternGeneratorCopy250);
|
| - TESTCASE(18, DTPatternGeneratorCopy10000);
|
| - TESTCASE(19, DTPatternGeneratorBestValue250);
|
| - TESTCASE(20, DTPatternGeneratorBestValue10000);
|
| - TESTCASE(21,DateFmtCopy250);
|
| - TESTCASE(22,DateFmtCopy10000);
|
| - TESTCASE(23,DateFmtCreate250);
|
| - TESTCASE(24,DateFmtCreate10000);
|
| -
|
| -
|
| - default:
|
| - name = "";
|
| - return NULL;
|
| - }
|
| - return NULL;
|
| -}
|
| -
|
| -
|
| -UPerfFunction* DateFormatPerfTest::DateFmt250(){
|
| - DateFmtFunction* func= new DateFmtFunction(1, locale);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::DateFmt10000(){
|
| - DateFmtFunction* func= new DateFmtFunction(40, locale);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::DateFmt100000(){
|
| - DateFmtFunction* func= new DateFmtFunction(400, locale);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::BreakItWord250(){
|
| - BreakItFunction* func= new BreakItFunction(250, true);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::BreakItWord10000(){
|
| - BreakItFunction* func= new BreakItFunction(10000, true);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::BreakItChar250(){
|
| - BreakItFunction* func= new BreakItFunction(250, false);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::BreakItChar10000(){
|
| - BreakItFunction* func= new BreakItFunction(10000, false);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::NumFmt10000(){
|
| - NumFmtFunction* func= new NumFmtFunction(10000, locale);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::NumFmt100000(){
|
| - NumFmtFunction* func= new NumFmtFunction(100000, locale);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::Collation10000(){
|
| - CollationFunction* func= new CollationFunction(40, locale);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::Collation100000(){
|
| - CollationFunction* func= new CollationFunction(400, locale);
|
| - return func;
|
| -}
|
| -
|
| -
|
| -UPerfFunction *DateFormatPerfTest::DIFCreate250() {
|
| - DIFCreateFunction* func = new DIFCreateFunction(250, locale);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::DIFCreate10000() {
|
| - DIFCreateFunction* func = new DIFCreateFunction(10000, locale);
|
| - return func;
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::TimeZoneCreate250() {
|
| - return new TimeZoneCreateFunction(250, locale);
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::TimeZoneCreate10000() {
|
| - return new TimeZoneCreateFunction(10000, locale);
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::DTPatternGeneratorCreate250() {
|
| - return new DTPatternGeneratorCreateFunction(250, locale);
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::DTPatternGeneratorCreate10000() {
|
| - return new DTPatternGeneratorCreateFunction(10000, locale);
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::DTPatternGeneratorCopy250() {
|
| - return new DTPatternGeneratorCopyFunction(250, locale);
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::DTPatternGeneratorCopy10000() {
|
| - return new DTPatternGeneratorCopyFunction(10000, locale);
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::DTPatternGeneratorBestValue250() {
|
| - return new DTPatternGeneratorBestValueFunction(250, locale);
|
| -}
|
| -
|
| -UPerfFunction *DateFormatPerfTest::DTPatternGeneratorBestValue10000() {
|
| - return new DTPatternGeneratorBestValueFunction(10000, locale);
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::DateFmtCopy250(){
|
| - return new DateFmtCopyFunction(250, locale);
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::DateFmtCopy10000(){
|
| - return new DateFmtCopyFunction(10000, locale);
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::DateFmtCreate250(){
|
| - return new DateFmtCreateFunction(250, locale);
|
| -}
|
| -
|
| -UPerfFunction* DateFormatPerfTest::DateFmtCreate10000(){
|
| - return new DateFmtCreateFunction(10000, locale);
|
| -}
|
| -
|
| -
|
| -int main(int argc, const char* argv[]){
|
| -
|
| - // -x Filename.xml
|
| - if((argc>1)&&(strcmp(argv[1],"-x") == 0))
|
| - {
|
| - if(argc < 3) {
|
| - fprintf(stderr, "Usage: %s -x <outfile>.xml\n", argv[0]);
|
| - return 1;
|
| - // not enough arguments
|
| - }
|
| -
|
| - cout << "ICU version - " << U_ICU_VERSION << endl;
|
| - UErrorCode status = U_ZERO_ERROR;
|
| -
|
| -#define FUNCTION_COUNT 6
|
| - // Declare functions
|
| - UPerfFunction *functions[FUNCTION_COUNT];
|
| -
|
| - functions[0] = new DateFmtFunction(40, "en");
|
| - functions[1] = new BreakItFunction(10000, true); // breakIterator word
|
| - functions[2] = new BreakItFunction(10000, false); // breakIterator char
|
| - functions[3] = new NumFmtFunction(100000, "en");
|
| - functions[4] = new CollationFunction(400, "en");
|
| - functions[5] = new StdioNumFmtFunction(100000, "en");
|
| -
|
| - // Perform time recording
|
| - double t[FUNCTION_COUNT];
|
| - for(int i = 0; i < FUNCTION_COUNT; i++) t[i] = 0;
|
| -
|
| -#define ITER_COUNT 10
|
| -#ifdef U_DEBUG
|
| - cout << "Doing " << ITER_COUNT << " iterations:" << endl;
|
| - cout << "__________| Running...\r";
|
| - cout.flush();
|
| -#endif
|
| - for(int i = 0; i < ITER_COUNT; i++) {
|
| -#ifdef U_DEBUG
|
| - cout << '*' << flush;
|
| -#endif
|
| - for(int j = 0; U_SUCCESS(status)&& j < FUNCTION_COUNT; j++)
|
| - t[j] += (functions[j]->time(1, &status) / ITER_COUNT);
|
| - }
|
| -#ifdef U_DEBUG
|
| - cout << " Done " << endl;
|
| -#endif
|
| -
|
| - if(U_SUCCESS(status)) {
|
| -
|
| - // Output results as .xml
|
| - ofstream out;
|
| - out.open(argv[2]);
|
| -
|
| - out << "<perfTestResults icu=\"c\" version=\"" << U_ICU_VERSION << "\">" << endl;
|
| -
|
| - for(int i = 0; i < FUNCTION_COUNT; i++)
|
| - {
|
| - out << " <perfTestResult" << endl;
|
| - out << " test=\"";
|
| - switch(i)
|
| - {
|
| - case 0: out << "DateFormat"; break;
|
| - case 1: out << "BreakIterator Word"; break;
|
| - case 2: out << "BreakIterator Char"; break;
|
| - case 3: out << "NumbFormat"; break;
|
| - case 4: out << "Collation"; break;
|
| - case 5: out << "StdioNumbFormat"; break;
|
| - default: out << "Unknown " << i; break;
|
| - }
|
| - out << "\"" << endl;
|
| - out << " iterations=\"" << functions[i]->getOperationsPerIteration() << "\"" << endl;
|
| - out << " time=\"" << t[i] << "\" />" << endl;
|
| - }
|
| - out << "</perfTestResults>" << endl;
|
| - out.close();
|
| - cout << " Wrote to " << argv[2] << endl;
|
| - }
|
| -
|
| - if(U_FAILURE(status)) {
|
| - cout << "Error! " << u_errorName(status) << endl;
|
| - return 1;
|
| - }
|
| -
|
| - return 0;
|
| - }
|
| -
|
| -
|
| - // Normal performance test mode
|
| - UErrorCode status = U_ZERO_ERROR;
|
| -
|
| - DateFormatPerfTest test(argc, argv, status);
|
| -
|
| -
|
| - if(U_FAILURE(status)){ // ERROR HERE!!!
|
| - cout << "initialize failed! " << status << endl;
|
| - return status;
|
| - }
|
| - //cout << "Done initializing!\n" << endl;
|
| -
|
| - if(test.run()==FALSE){
|
| - cout << "run failed!" << endl;
|
| - fprintf(stderr,"FAILED: Tests could not be run please check the arguments.\n");
|
| - return -1;
|
| - }
|
| - cout << "done!" << endl;
|
| -
|
| - return 0;
|
| -}
|
|
|