diff --git a/.gitignore b/.gitignore index 62388b7cae..d48ccf654c 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,7 @@ icu4c/source/config/icu.pc.out icu4c/source/config/icucross.mk icu4c/source/config/pkgdata.inc icu4c/source/config/pkgdataMakefile +icu4c/source/configure-local.mk icu4c/source/data/*.plg icu4c/source/data/Debug icu4c/source/data/Makefile @@ -128,6 +129,7 @@ icu4c/source/layoutex/release icu4c/source/layoutex/x64 icu4c/source/layoutex/x86 icu4c/source/lib +icu4c/source/perf-*.xml icu4c/source/samples/Makefile icu4c/source/samples/all/all.ncb icu4c/source/samples/all/all.suo @@ -355,6 +357,9 @@ icu4c/source/test/letest/letest.vcproj.*.*.user icu4c/source/test/letest/release icu4c/source/test/letest/x64 icu4c/source/test/letest/x86 +icu4c/source/test/perf/DateFmtPerf/DateFmtPerf +icu4c/source/test/perf/DateFmtPerf/DateFmtPerf.d +icu4c/source/test/perf/DateFmtPerf/Makefile icu4c/source/test/perf/Makefile icu4c/source/test/perf/charperf/*.d icu4c/source/test/perf/charperf/*.o @@ -429,6 +434,7 @@ icu4c/source/test/perf/ustrperf/Release icu4c/source/test/perf/ustrperf/charperf icu4c/source/test/perf/ustrperf/debug icu4c/source/test/perf/ustrperf/release +icu4c/source/test/perf/ustrperf/stringperf icu4c/source/test/perf/ustrperf/stringperf.vcproj.*.*.user icu4c/source/test/perf/utfperf/*.d icu4c/source/test/perf/utfperf/*.o @@ -440,6 +446,8 @@ icu4c/source/test/perf/utfperf/release icu4c/source/test/perf/utfperf/utfperf icu4c/source/test/perf/utfperf/utfperf.vcproj.*.*.user icu4c/source/test/perf/utrie2perf/Makefile +icu4c/source/test/perf/utrie2perf/utrie2perf +icu4c/source/test/perf/utrie2perf/utrie2perf.d icu4c/source/test/testdata/Makefile icu4c/source/test/testdata/out icu4c/source/test/testdata/pkgdata.inc diff --git a/icu4c/source/Makefile.in b/icu4c/source/Makefile.in index bbb965b59c..10e529998c 100644 --- a/icu4c/source/Makefile.in +++ b/icu4c/source/Makefile.in @@ -65,7 +65,7 @@ EXTRA_DATA = install-recursive clean clean-local clean-recursive distclean \ distclean-local distclean-recursive doc dist dist-local dist-recursive \ check check-local check-recursive clean-recursive-with-twist install-icu \ -doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive +doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive ## Clear suffix list .SUFFIXES : @@ -79,10 +79,14 @@ dist: dist-recursive dist-local check: all check-recursive check-recursive: all xcheck: all xcheck-recursive +xperf: all xperf-recursive xcheck-recursive: all xcheck-local @$(MAKE) -C test xcheck +xperf-recursive: all tests + @$(MAKE) -C test/perf xperf + ifeq ($(DOXYGEN),) doc: @echo you need Doxygen to generate documentation. Doxygen can be found on the Web @@ -171,6 +175,7 @@ tests: all clean-local: test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) -$(RMV) "test-*.xml" + -$(RMV) "perf-*.xml" $(RMV) Doxyfile doc $(DOCZIP) distclean-local: clean-local diff --git a/icu4c/source/common/icucfg.h.in b/icu4c/source/common/icucfg.h.in index c3fe6b5a9f..5e2a6ea562 100644 --- a/icu4c/source/common/icucfg.h.in +++ b/icu4c/source/common/icucfg.h.in @@ -63,6 +63,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION diff --git a/icu4c/source/configure b/icu4c/source/configure index 0749305837..772e2f71b8 100755 --- a/icu4c/source/configure +++ b/icu4c/source/configure @@ -11474,7 +11474,7 @@ then fi # output the Makefiles -ac_config_files="$ac_config_files icudefs.mk Makefile data/pkgdataMakefile config/Makefile.inc config/icu.pc config/pkgdataMakefile data/Makefile stubdata/Makefile common/Makefile i18n/Makefile layout/Makefile layoutex/Makefile io/Makefile extra/Makefile extra/uconv/Makefile extra/uconv/pkgdataMakefile extra/scrptrun/Makefile tools/Makefile tools/ctestfw/Makefile tools/toolutil/Makefile tools/makeconv/Makefile tools/genrb/Makefile tools/genccode/Makefile tools/gencmn/Makefile tools/gencnval/Makefile tools/genctd/Makefile tools/gentest/Makefile tools/gennorm2/Makefile tools/genbrk/Makefile tools/gensprep/Makefile tools/icuinfo/Makefile tools/icupkg/Makefile tools/icuswap/Makefile tools/pkgdata/Makefile tools/tzcode/Makefile tools/gencfu/Makefile test/Makefile test/compat/Makefile test/testdata/Makefile test/testdata/pkgdataMakefile test/hdrtst/Makefile test/intltest/Makefile test/cintltst/Makefile test/iotest/Makefile test/letest/Makefile test/perf/Makefile test/perf/collationperf/Makefile test/perf/ubrkperf/Makefile test/perf/charperf/Makefile test/perf/convperf/Makefile test/perf/normperf/Makefile test/perf/strsrchperf/Makefile test/perf/unisetperf/Makefile test/perf/usetperf/Makefile test/perf/ustrperf/Makefile test/perf/utfperf/Makefile test/perf/utrie2perf/Makefile samples/Makefile samples/date/Makefile samples/cal/Makefile samples/layout/Makefile common/unicode/platform.h" +ac_config_files="$ac_config_files icudefs.mk Makefile data/pkgdataMakefile config/Makefile.inc config/icu.pc config/pkgdataMakefile data/Makefile stubdata/Makefile common/Makefile i18n/Makefile layout/Makefile layoutex/Makefile io/Makefile extra/Makefile extra/uconv/Makefile extra/uconv/pkgdataMakefile extra/scrptrun/Makefile tools/Makefile tools/ctestfw/Makefile tools/toolutil/Makefile tools/makeconv/Makefile tools/genrb/Makefile tools/genccode/Makefile tools/gencmn/Makefile tools/gencnval/Makefile tools/genctd/Makefile tools/gentest/Makefile tools/gennorm2/Makefile tools/genbrk/Makefile tools/gensprep/Makefile tools/icuinfo/Makefile tools/icupkg/Makefile tools/icuswap/Makefile tools/pkgdata/Makefile tools/tzcode/Makefile tools/gencfu/Makefile test/Makefile test/compat/Makefile test/testdata/Makefile test/testdata/pkgdataMakefile test/hdrtst/Makefile test/intltest/Makefile test/cintltst/Makefile test/iotest/Makefile test/letest/Makefile test/perf/Makefile test/perf/collationperf/Makefile test/perf/ubrkperf/Makefile test/perf/charperf/Makefile test/perf/convperf/Makefile test/perf/normperf/Makefile test/perf/DateFmtPerf/Makefile test/perf/strsrchperf/Makefile test/perf/unisetperf/Makefile test/perf/usetperf/Makefile test/perf/ustrperf/Makefile test/perf/utfperf/Makefile test/perf/utrie2perf/Makefile samples/Makefile samples/date/Makefile samples/cal/Makefile samples/layout/Makefile common/unicode/platform.h" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -12123,6 +12123,7 @@ do "test/perf/charperf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/charperf/Makefile" ;; "test/perf/convperf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/convperf/Makefile" ;; "test/perf/normperf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/normperf/Makefile" ;; + "test/perf/DateFmtPerf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/DateFmtPerf/Makefile" ;; "test/perf/strsrchperf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/strsrchperf/Makefile" ;; "test/perf/unisetperf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/unisetperf/Makefile" ;; "test/perf/usetperf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/usetperf/Makefile" ;; diff --git a/icu4c/source/configure.in b/icu4c/source/configure.in index f56afd9688..eeea40f680 100644 --- a/icu4c/source/configure.in +++ b/icu4c/source/configure.in @@ -1327,6 +1327,7 @@ AC_CONFIG_FILES([icudefs.mk \ test/perf/charperf/Makefile \ test/perf/convperf/Makefile \ test/perf/normperf/Makefile \ + test/perf/DateFmtPerf/Makefile \ test/perf/strsrchperf/Makefile \ test/perf/unisetperf/Makefile \ test/perf/usetperf/Makefile \ diff --git a/icu4c/source/test/perf/DateFmtPerf/DateFmtPerf.h b/icu4c/source/test/perf/DateFmtPerf/DateFmtPerf.h index 2325e1cdfe..033019aa6a 100644 --- a/icu4c/source/test/perf/DateFmtPerf/DateFmtPerf.h +++ b/icu4c/source/test/perf/DateFmtPerf/DateFmtPerf.h @@ -9,15 +9,18 @@ #ifndef _DATEFMTPERF_H #define _DATEFMTPERF_H -#include "unicode/uperf.h" + +#include "unicode/stringpiece.h" #include "unicode/unistr.h" +#include "unicode/uperf.h" + +#include "unicode/utypes.h" #include "unicode/datefmt.h" #include "unicode/calendar.h" #include "unicode/uclean.h" #include "unicode/brkiter.h" #include "unicode/numfmt.h" #include "unicode/coll.h" -#include "unicode/utypes.h" #include "util.h" #include "datedata.h" @@ -420,4 +423,4 @@ public: UPerfFunction* Collation100000(); }; -#endif // DateFmtPerf \ No newline at end of file +#endif // DateFmtPerf diff --git a/icu4c/source/test/perf/DateFmtPerf/Makefile.in b/icu4c/source/test/perf/DateFmtPerf/Makefile.in new file mode 100644 index 0000000000..eba8e388dc --- /dev/null +++ b/icu4c/source/test/perf/DateFmtPerf/Makefile.in @@ -0,0 +1,82 @@ +## Makefile.in for ICU - test/perf/ubrkperf +## Copyright (c) 2001-2010, International Business Machines Corporation and +## others. All Rights Reserved. + +## Source directory information +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ + +top_builddir = ../../.. + +include $(top_builddir)/icudefs.mk + +## Build directory information +subdir = test/perf/DateFmtPerf + +## Extra files to remove for 'make clean' +CLEANFILES = *~ $(DEPS) + +## Target information +TARGET = DateFmtPerf + +CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_builddir)/i18n -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/toolutil -I$(top_srcdir)/tools/ctestfw +LIBS = $(LIBCTESTFW) $(LIBICUI18N) $(LIBICUUC) $(LIBICUTOOLUTIL) $(DEFAULT_LIBS) $(LIB_M) + +OBJECTS = DateFmtPerf.o + +DEPS = $(OBJECTS:.o=.d) + +## List of phony targets +.PHONY : all all-local install install-local clean clean-local \ +distclean distclean-local dist dist-local check check-local + +## Clear suffix list +.SUFFIXES : + +## List of standard targets +all: all-local +install: install-local +clean: clean-local +distclean : distclean-local +dist: dist-local +check: all check-local + +all-local: $(TARGET) + +install-local: + +dist-local: + +clean-local: + test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) + $(RMV) $(OBJECTS) $(TARGET) + +distclean-local: clean-local + $(RMV) Makefile + +check-local: all-local + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + +$(TARGET) : $(OBJECTS) + $(LINK.cc) -o $@ $^ $(LIBS) + $(POST_BUILD_STEP) + +xperf: $(TARGET) + ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) ./$(TARGET) -x $(top_builddir)/perf-output.xml + +invoke: + ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION) + +ifeq (,$(MAKECMDGOALS)) +-include $(DEPS) +else +ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),) +ifneq ($(patsubst %install,,$(MAKECMDGOALS)),) +-include $(DEPS) +endif +endif +endif + diff --git a/icu4c/source/test/perf/Makefile.in b/icu4c/source/test/perf/Makefile.in index c422c5007f..69e4dba97f 100644 --- a/icu4c/source/test/perf/Makefile.in +++ b/icu4c/source/test/perf/Makefile.in @@ -1,5 +1,5 @@ ## Makefile.in for ICU tests -## Copyright (c) 1999-2008, International Business Machines Corporation and +## Copyright (c) 1999-2010, International Business Machines Corporation and ## others. All Rights Reserved. ## Source directory information @@ -11,20 +11,23 @@ top_builddir = ../.. include $(top_builddir)/icudefs.mk ## Build directory information -subdir = test +subdir = test/perf @ICUIO_TRUE@IOTEST = iotest ## Files to remove for 'make clean' CLEANFILES = *~ -SUBDIRS = collationperf charperf normperf ubrkperf unisetperf usetperf ustrperf utfperf utrie2perf +SUBDIRS = collationperf charperf normperf ubrkperf unisetperf usetperf ustrperf utfperf utrie2perf DateFmtPerf + +# Subdirs that support 'xperf' +XSUBDIRS = DateFmtPerf ## List of phony targets .PHONY : everything all all-local all-recursive install install-local \ install-recursive clean clean-local clean-recursive distclean \ distclean-local distclean-recursive dist dist-recursive dist-local \ -check check-recursive check-local +check check-recursive check-local xperf xperf-recursive ## Clear suffix list .SUFFIXES : @@ -46,6 +49,11 @@ dist: dist-recursive dist-local check: everything check-recursive check-local check-recursive: all-recursive +xperf: everything + list='$(XSUBDIRS)'; for xsubdir in $$list; do \ + $(MAKE) -w -C $$xsubdir xperf; \ + done + ## Recursive targets all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive: @dot_seen=no; \