diff options
-rw-r--r-- | compression/Makefile.am | 2 | ||||
-rw-r--r-- | compression/Makefile.in | 138 | ||||
-rw-r--r-- | compression/tilecompnone.hh | 4 | ||||
-rw-r--r-- | indexmgr/mddobjix.cc | 6 | ||||
-rw-r--r-- | raslib/rmdebug.hh | 14 | ||||
-rw-r--r-- | raslib/rmdebug.icc | 64 | ||||
-rw-r--r-- | raslib/rminit.hh | 2 | ||||
-rw-r--r-- | rasmgr/Makefile.am | 6 | ||||
-rw-r--r-- | rasmgr/rasmgr_config.cc | 54 | ||||
-rw-r--r-- | rasmgr/rasmgr_main.cc | 6 | ||||
-rw-r--r-- | rasmgr/rasmgr_master_nb.cc | 2 | ||||
-rw-r--r-- | reladminif/oidifcommon.cc | 6 | ||||
-rw-r--r-- | rnprotocol/rnpservercomm.cc | 12 | ||||
-rw-r--r-- | server/Makefile.am | 4 | ||||
-rw-r--r-- | servercomm/servercomm2.cc | 112 | ||||
-rw-r--r-- | tilemgr/tile.cc | 3 | ||||
-rw-r--r-- | tilemgr/tile.hh | 11 | ||||
-rw-r--r-- | time/Makefile.in | 128 | ||||
-rw-r--r-- | time/akg_benchmark.cc | 123 |
19 files changed, 308 insertions, 389 deletions
diff --git a/compression/Makefile.am b/compression/Makefile.am index 7f86279..4cff362 100644 --- a/compression/Makefile.am +++ b/compression/Makefile.am @@ -32,4 +32,4 @@ AM_CXXFLAGS=@CLIENTCXXFLAGS@ AM_LDFLAGS=@CLIENTLDFLAGS@ lib_LIBRARIES = libcompression.a -libcompression_a_SOURCES=tilecompression.cc tilecompression.hh +libcompression_a_SOURCES=tilecompression.cc tilecompression.hh tilecompnone.cc tilecompnone.hh diff --git a/compression/Makefile.in b/compression/Makefile.in index 20ead74..892aaac 100644 --- a/compression/Makefile.in +++ b/compression/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -46,8 +47,9 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -73,25 +75,41 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(libdir)" -libLIBRARIES_INSTALL = $(INSTALL_DATA) LIBRARIES = $(lib_LIBRARIES) AR = ar ARFLAGS = cru libcompression_a_AR = $(AR) $(ARFLAGS) libcompression_a_LIBADD = -am_libcompression_a_OBJECTS = nocompstream.$(OBJEXT) \ - tilecompression.$(OBJEXT) tilecompnone.$(OBJEXT) +am_libcompression_a_OBJECTS = tilecompression.$(OBJEXT) \ + tilecompnone.$(OBJEXT) libcompression_a_OBJECTS = $(am_libcompression_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -149,6 +167,7 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAR_TOOL = @JAR_TOOL@ JAVA_CC = @JAVA_CC@ JAVA_CC_FLAGS = @JAVA_CC_FLAGS@ JAVA_CC_OPTS = @JAVA_CC_OPTS@ @@ -172,6 +191,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PG_CONFIG = @PG_CONFIG@ @@ -233,15 +253,13 @@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CXXFLAGS = @CLIENTCXXFLAGS@ AM_LDFLAGS = @CLIENTLDFLAGS@ lib_LIBRARIES = libcompression.a -libcompression_a_SOURCES = nocompstream.cc nocompstream.hh tilecompression.cc \ - tilecompression.hh tilecompnone.cc tilecompnone.hh \ - compresstime.hh lincompstream.hh - +libcompression_a_SOURCES = tilecompression.cc tilecompression.hh tilecompnone.cc tilecompnone.hh all: all-am .SUFFIXES: @@ -250,14 +268,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu compression/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu compression/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign compression/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign compression/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -275,32 +293,36 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): install-libLIBRARIES: $(lib_LIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LIBRARIES)'; for p in $$list; do \ + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } @$(POST_INSTALL) - @list='$(lib_LIBRARIES)'; for p in $$list; do \ + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ if test -f $$p; then \ - p=$(am__strip_dir) \ - echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \ - $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \ + $(am__strip_dir) \ + echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ + ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ else :; fi; \ done uninstall-libLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ + cd "$(DESTDIR)$(libdir)" && rm -f $$files clean-libLIBRARIES: -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) @@ -315,20 +337,19 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nocompstream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tilecompnone.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tilecompression.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` @@ -338,14 +359,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -353,29 +374,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -396,13 +422,17 @@ distdir: $(DISTFILES) if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -433,6 +463,7 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -453,6 +484,8 @@ dvi-am: html: html-am +html-am: + info: info-am info-am: @@ -461,18 +494,28 @@ install-data-am: install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-libLIBRARIES install-html: install-html-am +install-html-am: + install-info: install-info-am +install-info-am: + install-man: install-pdf: install-pdf-am +install-pdf-am: + install-ps: install-ps-am +install-ps-am: + installcheck-am: maintainer-clean: maintainer-clean-am @@ -509,6 +552,7 @@ uninstall-am: uninstall-libLIBRARIES mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-libLIBRARIES + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/compression/tilecompnone.hh b/compression/tilecompnone.hh index 42eed88..d73a63e 100644 --- a/compression/tilecompnone.hh +++ b/compression/tilecompnone.hh @@ -45,9 +45,7 @@ rasdaman GmbH. //@ManMemo: Module {\bf compression} /*@Doc: - Tile compression for no compression. This should normally not be used, - but in some cases it's required for cleaner modelling (e.g. an unsupported - data format is requested which is interpreted as uncompressed data). + Tile compression for no compression. */ class r_Tile_Comp_None : public r_Tile_Compression diff --git a/indexmgr/mddobjix.cc b/indexmgr/mddobjix.cc index 6e85d97..2945039 100644 --- a/indexmgr/mddobjix.cc +++ b/indexmgr/mddobjix.cc @@ -183,9 +183,9 @@ MDDObjIx::getDimension() const void MDDObjIx::initializeTimerPointers() { - pointQueryTimer= new RMTimer("DirIx", "pointQuery time "); - intersectTimer = new RMTimer("DirIx", "intersect time "); - getTilesTimer = new RMTimer("DirIx", "getTiles time "); + pointQueryTimer= new RMTimer("DirIx", "pointQuery"); + intersectTimer = new RMTimer("DirIx", "intersect"); + getTilesTimer = new RMTimer("DirIx", "getTiles"); } #endif diff --git a/raslib/rmdebug.hh b/raslib/rmdebug.hh index 08e38cc..6154c7d 100644 --- a/raslib/rmdebug.hh +++ b/raslib/rmdebug.hh @@ -89,14 +89,11 @@ extern int RManBenchmark; #define RMDBCLASS( t1, t2, t3, t4, t5 ) ; #endif +// generate benchmark code only when RMANBENCHMARK is set #ifdef RMANBENCHMARK - #define RMTIMER(class, func) RMTimer localRMTimer = RMTimer(class, func); - #else - #define RMTIMER(class, func) - #endif //@ManMemo: Module: {\bf raslib}. @@ -262,7 +259,7 @@ private: /** RMTimer is not strictly part of RasLib. It is a class used for taking -timing measurements if compiling with RMANBENCHMARK defined. One way +timing measurements if configuring with --benchmark-enabled. One way of using it is to put the following at the beginning of a function: {\tt RMTIMER("className", "functionName");} @@ -329,6 +326,9 @@ public: Time spent is the time since construction or last start() excluding the times between pause() and resume(). */ + /// delivers current time count. + inline int getTime(); + private: /// name of class. const char* myClass; @@ -354,6 +354,8 @@ private: long oldsec; /// used to calculate time spent in function. long oldusec; + /// aux function to determine clock time elapsed so far. + inline void fetchTime(); }; ///Module: {\bf raslib}. @@ -376,7 +378,7 @@ private: bool doStuff; }; - #include "raslib/rmdebug.icc" + #endif diff --git a/raslib/rmdebug.icc b/raslib/rmdebug.icc index f325c10..91bea8d 100644 --- a/raslib/rmdebug.icc +++ b/raslib/rmdebug.icc @@ -64,30 +64,12 @@ RMTimer::pause() { if( running ) { + fetchTime(); #ifdef __VISUALC__ - // save start time - oldsec = acttime; - oldusec = 0; // Windows only counts the seconds (too slow??!!) - - // get stop time - time(&acttime); - - // add new time to accu - accuTime += (acttime-oldsec)*1000000; -#else - // save start time - oldsec = acttime.tv_sec; - oldusec = acttime.tv_usec; - - // get stop time - gettimeofday(&acttime, &dummy); - - // add new time to accu - accuTime += (acttime.tv_sec-oldsec)*1000000 + acttime.tv_usec - oldusec; - // reset acttime.tv_usec which means that no timer is running acttime.tv_usec = 0; #endif + // timer is not running running = 0; } @@ -112,10 +94,46 @@ RMTimer::stop() pause(); if(output && RManBenchmark >= bmLevel ) { - RMInit::bmOut << std::endl - << "PerformanceTimer: " << myClass << " :: " << myFunc << ": " - << accuTime << " usecs" << std::endl; + RMInit::bmOut + << std::endl + << "PerformanceTimer: " << myClass << " :: " << myFunc << " = " + << accuTime << " usecs" << std::endl; // set output to FALSE output = 0; } } + +inline int +RMTimer::getTime() +{ + fetchTime(); + return accuTime; +} + +inline void +RMTimer::fetchTime() +{ +#ifdef __VISUALC__ + // save start time + oldsec = acttime; + oldusec = 0; // Windows only counts the seconds (too slow??!!) + + // get stop time + time(&acttime); + + // add new time to accu + accuTime += (acttime-oldsec)*1000000; +#else + // save start time + oldsec = acttime.tv_sec; + oldusec = acttime.tv_usec; + + // get stop time + gettimeofday(&acttime, &dummy); + + // add new time to accu + accuTime += (acttime.tv_sec-oldsec)*1000000 + acttime.tv_usec - oldusec; + +#endif +} + diff --git a/raslib/rminit.hh b/raslib/rminit.hh index fc1ef9e..df4eecb 100644 --- a/raslib/rminit.hh +++ b/raslib/rminit.hh @@ -165,7 +165,7 @@ class RMInit : public RM_Class // could easily be done in rminit.cc. But the call to the constructor of RMInit // has to get a flag for client ('C') or server ('S') as a parameter. This has // be done somewhere else. In that case the constructor may be called before -// initialization of the streams, the pogram crashes! If all initialisations +// initialization of the streams, the program crashes! If all initialisations // are in the same file, the order is defined. That is what this macro is for. // // Note: At some point it may be useful to reimplement this mess. diff --git a/rasmgr/Makefile.am b/rasmgr/Makefile.am index f4b54e0..120d24f 100644 --- a/rasmgr/Makefile.am +++ b/rasmgr/Makefile.am @@ -32,8 +32,10 @@ rasmgr_SOURCES=ras_crypto.cc rasmgr_config.cc rasmgr_host.cc rasmgr_main.cc rasm ras_crypto.hh rasmgr_config.hh rasmgr_host.hh rasmgr_rascontrol.hh rasmgr_srv.hh \ rasmgr_comm.hh rasmgr_dbm.hh \ rasmgr_users.hh rasmgr_comm_nb.hh rasmgr_error.hh rasmgr_localsrv.hh \ - rasmgr.hh rasmgr_protocol.hh rasmgr_master.hh -rasmgr_LDADD=../network/libnetwork.a ../commline/libcommline.a + rasmgr.hh rasmgr_protocol.hh rasmgr_master.hh \ + ../mymalloc/mymalloc_cln.cc ../mymalloc/mymalloc.h + +rasmgr_LDADD= ../raslib/libraslib.a ../network/libnetwork.a ../commline/libcommline.a SUBDIRS=../network ../commline diff --git a/rasmgr/rasmgr_config.cc b/rasmgr/rasmgr_config.cc index 4919975..24d1130 100644 --- a/rasmgr/rasmgr_config.cc +++ b/rasmgr/rasmgr_config.cc @@ -508,57 +508,3 @@ void Configuration::printStatus() return; } -//**************************************************************************************************************** - -// FIXME: this needs refinement -- PB 2003-jun-09 -BenchmarkTimer::BenchmarkTimer(const char *text) -{ - this->text = (char*)text; - time_t now = time(NULL); - char *n = ctime(&now); - n[strlen(n)-1] = '\0'; // delete trailing newline char - // cout << "--- rasmgr timer start for \'" << text << "\' at " << n << "." << endl; - gettimeofday(&start,NULL); -} - -BenchmarkTimer::~BenchmarkTimer() -{ -} - -void BenchmarkTimer::result() -{ - timeval result; - gettimeofday(&end,NULL); - int r=timeval_subtract(&result,&end,&start); - time_t now = time(NULL); - char *n = ctime(&now); - n[strlen(n)-1] = '\0'; // delete trailing newline char - VLOG << "rasmgr timer stop for \'" << text << "\' at " << n << ": " << result.tv_sec << '.' << std::setw(3) << std::setfill('0') << result.tv_usec << " seconds elapsed." << endl; -} - -int BenchmarkTimer::timeval_subtract(timeval *result,timeval *x,timeval *y) -{ -#define ONE_MILLION 1000000 - /* Perform the carry for the later subtraction by updating Y. */ - if (x->tv_usec < y->tv_usec) - { - int nsec = (y->tv_usec - x->tv_usec) / ONE_MILLION + 1; - y->tv_usec -= ONE_MILLION * nsec; - y->tv_sec += nsec; - } - if (x->tv_usec - y->tv_usec > ONE_MILLION) - { - int nsec = (x->tv_usec - y->tv_usec) / ONE_MILLION; - y->tv_usec += ONE_MILLION * nsec; - y->tv_sec -= nsec; - } - - /* Compute the time remaining to wait. - `tv_usec' is certainly positive. */ - result->tv_sec = x->tv_sec - y->tv_sec; - result->tv_usec = x->tv_usec - y->tv_usec; - - /* Return 1 if result is negative. */ - return x->tv_sec < y->tv_sec; -} - diff --git a/rasmgr/rasmgr_main.cc b/rasmgr/rasmgr_main.cc index f9b553a..6280cbf 100644 --- a/rasmgr/rasmgr_main.cc +++ b/rasmgr/rasmgr_main.cc @@ -57,10 +57,12 @@ and -DCOMPDATE="\"$(COMPDATE)\"" when compiling */ #endif +#include "raslib/rmdebug.hh" #define DEBUG_MAIN #undef DEBUG_HH #include "debug.hh" +RMINITGLOBALS('S'); Configuration config; @@ -163,13 +165,9 @@ int main(int argc, char** argv, char** envp) try { - BenchmarkTimer *totalTimePtr = new BenchmarkTimer("Total master time"); - TALK( "launching masterCommunicator.Run()..." ); masterCommunicator.Run(); // central request handling loop TALK( "masterCommunicator.Run() done." ); - - totalTimePtr->result(); // print total time elapsed } catch(RCError& e) { diff --git a/rasmgr/rasmgr_master_nb.cc b/rasmgr/rasmgr_master_nb.cc index 42e1cb4..7cedf72 100644 --- a/rasmgr/rasmgr_master_nb.cc +++ b/rasmgr/rasmgr_master_nb.cc @@ -48,6 +48,7 @@ rasdaman GmbH. using namespace std; +#include "raslib/rmdebug.hh" #include "debug.hh" @@ -96,6 +97,7 @@ MasterComm::~MasterComm() void MasterComm::Run() { ENTER("MasterComm::Run: enter." ); + RMTIMER( "MasterComm", "Run" ); // benchmark this routine, if enabled initListenSocket(config.getListenPort()); // connect/bind the central listen socket // using IOSelector level here! diff --git a/reladminif/oidifcommon.cc b/reladminif/oidifcommon.cc index ed75ef3..38c1a05 100644 --- a/reladminif/oidifcommon.cc +++ b/reladminif/oidifcommon.cc @@ -43,13 +43,11 @@ rasdaman GmbH. #include "raslib/rmdebug.hh" #ifdef RMANBENCHMARK -RMTimer -OId::oidAlloc("OId","allocateOId"); +RMTimer OId::oidAlloc("OId","allocateOId"); #endif #ifdef RMANBENCHMARK -RMTimer -OId::oidResolve("OId","resolveOId"); +RMTimer OId::oidResolve("OId","resolveOId"); #endif double OId::ID_MULTIPLIER = 512; diff --git a/rnprotocol/rnpservercomm.cc b/rnprotocol/rnpservercomm.cc index 677cf4e..353552d 100644 --- a/rnprotocol/rnpservercomm.cc +++ b/rnprotocol/rnpservercomm.cc @@ -54,7 +54,6 @@ and -DCOMPDATE="\"$(COMPDATE)\"" when compiling #include "srvrasmgrcomm.hh" #include "server/rasserver_entry.hh" -#include "time/akgtime.hh" #include "debug-srv.hh" @@ -100,11 +99,10 @@ RnpRasDaManComm::~RnpRasDaManComm() throw() // we need our implementation because of r_Error, but we will go for the default when r_Error is AkgException void RnpRasDaManComm::processRequest(CommBuffer *receiverBuffer, CommBuffer *transmiterBuffer, RnpTransport::CarrierProtocol protocol, RnpServerJob *callingJob) throw() { + RMTimer requestTime("RnpRasDaManComm","request"); + ENTER( "RnpRasDaManComm::processRequest, at " << now() << ", client=" << callingJob->getClientHostAddress().getStringAddress() ); - RMInit::logOut << now() << " request from " << callingJob->getClientHostAddress().getStringAddress() << endl; - - BenchmarkTimer bmt("request time"); - bmt.start(); + RMInit::logOut << endl << now() << " request from " << callingJob->getClientHostAddress().getStringAddress() << endl; decoder.decode(receiverBuffer); RnpQuark destServerType = decoder.getDestinationServerType(); @@ -197,9 +195,7 @@ void RnpRasDaManComm::processRequest(CommBuffer *receiverBuffer, CommBuffer *tra } encoder.endMessage(); - bmt.stop(); - - RMInit::logOut << now() << " request completed; " << bmt << endl << endl; + RMInit::logOut << now() << " request completed in " << requestTime.getTime() << " usecs." << endl; LEAVE( "RnpRasDaManComm::processRequest" ); } diff --git a/server/Makefile.am b/server/Makefile.am index a1c6ea6..96e98c5 100644 --- a/server/Makefile.am +++ b/server/Makefile.am @@ -47,13 +47,13 @@ rasserver_LDADD=../servercomm/libservercomm.a ../qlparser/libqlparser.a ../conve ../relcatalogif/librelcatalogif.a ../indexmgr/libindexmgr.a ../relblobif/librelblobif.a \ ../relindexif/librelindexif.a ../httpserver/libhttpserver.a \ ../network/libnetwork.a ../commline/libcommline.a \ - ../time/libtime.a ../compression/libcompression.a \ + ../compression/libcompression.a \ ../relcatalogif/librelcatalogif.a ../raslib/libraslib.a SUBDIRS = ../relblobif ../relindexif ../relmddif ../relcatalogif ../reladminif ../relstorageif \ ../indexmgr ../catalogmgr ../tilemgr ../storagemgr ../commline ../network \ ../raslib ../servercomm ../rasodmg ../qlparser ../conversion \ - ../mddmgr ../httpserver ../mymalloc ../time + ../mddmgr ../httpserver ../mymalloc $(RECURSIVE_CLEAN_TARGETS): @$(MAKE) $(AM_MAKEFLAGS) `echo $@ | sed s/-recursive/-am/` diff --git a/servercomm/servercomm2.cc b/servercomm/servercomm2.cc index 7c81f1c..416835f 100644 --- a/servercomm/servercomm2.cc +++ b/servercomm/servercomm2.cc @@ -29,9 +29,9 @@ rasdaman GmbH. * PURPOSE: * * COMMENTS: - * - FIXME: catch exceptions in all operations - * - return values & their meaning see servercomm.hh - * - FIXME: "client not registered" delivers sometimes 1, sometimes 3 + * - FIXME: catch exceptions in all operations + * - return values & their meaning, see servercomm.hh + * - FIXME: "client not registered" delivers sometimes 1, sometimes 3 * */ @@ -186,7 +186,7 @@ ServerComm::openDB( unsigned long callingClientId, unsigned short returnValue=0; - RMInit::logOut << "Request: openDB '" << dbName << "'..." << std::flush; + RMInit::logOut << "Request: 'open DB', name = " << dbName << "'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -265,7 +265,7 @@ ServerComm::closeDB( unsigned long callingClientId ) RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "closeDB" ) unsigned short returnValue; - RMInit::logOut << "Request: closeDB..." << std::flush; + RMInit::logOut << "Request: 'close DB'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -323,7 +323,7 @@ ServerComm::createDB( char* name ) // FIXME: what about client id? -- PB 2005-aug-27 - RMInit::logOut << "Request: createDB '" << name << "'..." << std::flush; + RMInit::logOut << "Request: 'create DB', name = " << name << "'..." << std::flush; DatabaseIf* tempDbIf = new DatabaseIf; @@ -367,7 +367,7 @@ ServerComm::destroyDB( char* name ) unsigned short returnValue = 0; - RMInit::logOut << "Request: destroyDB '" << name << "'..." << std::flush; + RMInit::logOut << "Request: 'destroy DB', name = " << name << "'..." << std::flush; DatabaseIf* tempDbIf = new DatabaseIf; @@ -400,7 +400,7 @@ ServerComm::beginTA( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "beginTA" ) unsigned short returnValue; - RMInit::logOut << "Request: beginTA (" << ( readOnly ? "read" : "write" ) << ")..." << std::flush; + RMInit::logOut << "Request: 'begin TA', mode = " << ( readOnly ? "read" : "write" ) << "..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -422,7 +422,7 @@ ServerComm::beginTA( unsigned long callingClientId, #ifdef RMANBENCHMARK if( RManBenchmark > 0 ) - context->taTimer = new RMTimer("ServerComm", "transaction time "); + context->taTimer = new RMTimer("ServerComm", "transaction"); #endif try { @@ -461,15 +461,15 @@ ServerComm::commitTA( unsigned long callingClientId ) ClientTblElt* context = getClientContext( callingClientId ); - RMInit::logOut << "Request: commitTA..." << std::flush; + RMInit::logOut << "Request: 'commit TA'..." << std::flush; if( context != 0 ) { + #ifdef RMANBENCHMARK RMTimer* commitTimer = 0; - if( RManBenchmark > 0 ) - commitTimer = new RMTimer("ServerComm", "commit time "); + commitTimer = new RMTimer("ServerComm", "commit"); #endif // release transfer collection/iterator within the transaction they are created @@ -518,7 +518,7 @@ ServerComm::abortTA( unsigned long callingClientId ) RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "abortTA" ) unsigned short returnValue; - RMInit::logOut << "Request: abortTA..." << std::flush; + RMInit::logOut << "Request: 'abort TA'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -567,11 +567,11 @@ ServerComm::isTAOpen( unsigned long callingClientId ) { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "isTAOpen" ) - RMInit::logOut << "Request: isTAOpen..." << std::flush; + RMInit::logOut << "Request: 'is TA open'..." << std::flush; bool returnValue = transactionActive; - RMInit::logOut << MSG_OK << (transactionActive?", is active.":", is not active.") << endl; + RMInit::logOut << MSG_OK << (transactionActive?"yes.":"no.") << endl; RMDBGEXIT( 4, RMDebug::module_servercomm, "ServerComm", "isTAOpen" ) return returnValue; @@ -588,7 +588,7 @@ ServerComm::insertColl( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "insertColl" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: insertColl '" << collName << "' with type '" << typeName << "'..." << std::flush; + RMInit::logOut << "Request: 'insert collection', collection name = '" << collName << "', type = '" << typeName << "'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -663,7 +663,7 @@ ServerComm::deleteCollByName( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "deleteCollByName(" << callingClientId << ", " << collName << ")") unsigned short returnValue; - RMInit::logOut << "Request: deleteCollByName '" << collName << "'..." << std::flush; + RMInit::logOut << "Request: 'delete collection by name', name = '" << collName << "'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -715,7 +715,7 @@ ServerComm::deleteObjByOId( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "deleteObjByOId(" << callingClientId << ", " << oid << ")"); unsigned short returnValue; - RMInit::logOut << "Request: deleteObjByOId " << oid << "..." << std::flush; + RMInit::logOut << "Request: 'delete MDD by OID', oid = '" << oid << "'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -785,7 +785,7 @@ ServerComm::removeObjFromColl( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "removeObjFromColl(" << callingClientId << ", " << collName << ", " << oid << ")") unsigned short returnValue; - RMInit::logOut << "Request: removeObjFromColl '" << collName << "', oid " << oid << "..." << std::flush; + RMInit::logOut << "Request: 'remove MDD from collection', collection name = '" << collName << "', oid = '" << oid << "'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -881,7 +881,7 @@ ServerComm::insertMDD( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "insertMDD" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: insertMDD type='" << typeName << "' into collection '" << collName << "'..." << std::flush; + RMInit::logOut << "Request: 'insert MDD type', type = '" << typeName << "', collection = '" << collName << "'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); r_Data_Format myDataFmt = r_Array; @@ -1175,7 +1175,7 @@ ServerComm::insertTileSplitted( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "insertTileSplitted" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: insertTile..." << std::flush; + RMInit::logOut << "Request: 'insert tile'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -1230,7 +1230,7 @@ ServerComm::insertTileSplitted( unsigned long callingClientId, } else { - RMInit::logOut << "Warning: Unsupported data format '" << myCurrentFmt << "', will be ignored..." << std::flush; + RMInit::logOut << "Warning: Unsupported data format '" << myCurrentFmt << "', falling back to r_Array..." << std::flush; myDataFmt = r_Array; } tile = new Tile( domain, baseType, dataPtr, getMDDData, myDataFmt ); @@ -1262,7 +1262,7 @@ ServerComm::insertTileSplitted( unsigned long callingClientId, // Split the tile! vector< Tile *>* tileSet = tile->splitTile( *tileSize ); - RMInit::dbgOut << "Now inserting splitted tile..."; + RMInit::dbgOut << "inserting split tile..."; for( vector<Tile*>::iterator iter = tileSet->begin(); iter != tileSet->end(); iter++ ) { (*iter)->setParameters(context->storageFormatParams); @@ -1280,7 +1280,7 @@ ServerComm::insertTileSplitted( unsigned long callingClientId, { //insert one single tile // later, we should take into consideration the default server tile-size! - RMInit::logOut << "Now inserting single tile..."; + RMInit::logOut << "inserting single tile..."; tile->setParameters(context->storageFormatParams); if( isPersistent ) context->assembleMDD->insertTile( tile ); @@ -1334,9 +1334,9 @@ ServerComm::startInsertPersMDD( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "startInsertPersMDD" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: startInsertPersMDD type '" << typeName - << "', collection '" << collName << "', domain " << domain << ", cell length " << typeLength - << ", " << domain.cell_count()*typeLength << " bytes..." << std::flush; + RMInit::logOut << "Request: 'start inserting persistent MDD type', type = '" << typeName + << "', collection = '" << collName << "', domain = " << domain << ", cell size = " << typeLength + << ", " << domain.cell_count()*typeLength << "..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -1513,7 +1513,7 @@ ServerComm::executeQuery( unsigned long callingClientId, returnStructure.lineNo = 0; returnStructure.columnNo = 0; - RMInit::logOut << "Request: executeQquery '" << query << "'..." << std::flush; + RMInit::logOut << "Request: '" << query << "'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -1526,9 +1526,6 @@ ServerComm::executeQuery( unsigned long callingClientId, Tile::relTimer.pause(); Tile::opTimer.start(); Tile::opTimer.pause(); - - if( RManBenchmark > 0 ) - RMInit::bmOut << "Query: " << query << std::endl; #endif #ifdef PURIFY @@ -1544,7 +1541,7 @@ ServerComm::executeQuery( unsigned long callingClientId, #ifdef RMANBENCHMARK if( RManBenchmark > 0 ) - queryOptimizationTimer = new RMTimer("ServerComm", "optimization time"); + queryOptimizationTimer = new RMTimer("ServerComm", "optimization"); #endif @@ -1614,7 +1611,7 @@ ServerComm::executeQuery( unsigned long callingClientId, } if( RManBenchmark > 0 ) - context->evaluationTimer = new RMTimer("ServerComm", "evaluation time "); + context->evaluationTimer = new RMTimer("ServerComm", "evaluation"); #endif qtree->printTree( 2, std::cout ); //qtree->checkSemantics(); @@ -1821,7 +1818,7 @@ ServerComm::executeQuery( unsigned long callingClientId, context->evaluationTimer->pause(); if( RManBenchmark > 0 ) - context->transferTimer = new RMTimer("ServerComm", "transfer time "); + context->transferTimer = new RMTimer("ServerComm", "transfer"); #endif // In case of an error or the result set is empty, no endTransfer() @@ -1830,7 +1827,6 @@ ServerComm::executeQuery( unsigned long callingClientId, if( returnValue >= 2) { #ifdef RMANBENCHMARK - Tile::o2Timer.stop(); Tile::opTimer.stop(); Tile::relTimer.stop(); Tile::opTimer.stop(); @@ -1845,7 +1841,7 @@ ServerComm::executeQuery( unsigned long callingClientId, RMTimer* releaseTimer = 0; if( RManBenchmark > 0 ) - releaseTimer = new RMTimer("ServerComm", "release time "); + releaseTimer = new RMTimer("ServerComm", "release"); #endif // release transfer collection/iterator @@ -1876,7 +1872,7 @@ ServerComm::initExecuteUpdate( unsigned long callingClientId ) RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "initExecuteUpdate" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: initExecuteUpdate..." << std::flush; + RMInit::logOut << "Request: 'initialize update'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -1918,7 +1914,7 @@ ServerComm::startInsertTransMDD( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "startInsertTransMDD" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: startInsertTransMDD type '" + RMInit::logOut << "Request: 'insert MDD', type '" << typeName <<"', domain " << domain << ", cell length " << typeLength << ", " << domain.cell_count()*typeLength << " bytes..." << std::flush; @@ -1987,7 +1983,7 @@ ServerComm::endInsertMDD( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "endInsertMDD" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: endInsertMDD..." << std::flush; + RMInit::logOut << "Request: 'end insert MDD'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -2041,7 +2037,7 @@ ServerComm::executeUpdate( unsigned long callingClientId, { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "executeUpdate" ) - RMInit::logOut << "Request: executeUpdate query '" << query << "'..." << std::flush; + RMInit::logOut << "Request: '" << query << "'..." << std::flush; #ifdef RMANBENCHMARK RMTimer* queryOptimizationTimer = 0; @@ -2049,9 +2045,6 @@ ServerComm::executeUpdate( unsigned long callingClientId, Tile::relTimer.pause(); Tile::opTimer.start(); Tile::opTimer.pause(); - - if( RManBenchmark > 0 ) - RMInit::bmOut << "Query (update): " << query << std::endl; #endif unsigned short returnValue = 0; @@ -2070,7 +2063,7 @@ ServerComm::executeUpdate( unsigned long callingClientId, #ifdef RMANBENCHMARK if( RManBenchmark > 0 ) - queryOptimizationTimer = new RMTimer("ServerComm", "optimization time"); + queryOptimizationTimer = new RMTimer("ServerComm", "optimization"); #endif QueryTree* qtree = new QueryTree(); // create a query tree object... @@ -2143,7 +2136,7 @@ ServerComm::executeUpdate( unsigned long callingClientId, } if( RManBenchmark > 0 ) - context->evaluationTimer = new RMTimer("ServerComm", "evaluation time "); + context->evaluationTimer = new RMTimer("ServerComm", "evaluation"); #endif RMInit::logOut << "evaluating..." << std::flush; @@ -2262,7 +2255,7 @@ ServerComm::getCollByName( unsigned long callingClientId, { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "ServerComm::getCollByName" ) - RMInit::logOut << "Request: getCollByName '" << collName << "'..." << std::flush; + RMInit::logOut << "Request: 'get collection by name', name = " << collName << "'..." << std::flush; unsigned short returnValue=0; @@ -2372,7 +2365,7 @@ ServerComm::getCollByOId( unsigned long callingClientId, { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", " ServerComm::getCollByOId" ) - RMInit::logOut << "Request: getCollByOId " << oid << "..." << std::flush; + RMInit::logOut << "Request: 'get collection by OID', oid = " << oid << "..." << std::flush; unsigned short returnValue=0; @@ -2501,7 +2494,7 @@ ServerComm::getCollOIdsByName( unsigned long callingClientId, { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "getCollOIdsByName" ) - RMInit::logOut << "Request: getCollOIdsByName '" << collName << "'..." << std::flush; + RMInit::logOut << "Request: 'get collection OIds by name', name = " << collName << "'..." << std::flush; unsigned short returnValue=0; @@ -2646,7 +2639,7 @@ ServerComm::getCollOIdsByOId( unsigned long callingClientId, { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "getCollOIdsByOId" ) - RMInit::logOut << "Request: getCollOIdsByOId " << oid << "..." << std::flush; + RMInit::logOut << "Request: 'get collection OIDs by OId', oid = " << oid << "..." << std::flush; unsigned short returnValue=0; @@ -2792,7 +2785,7 @@ ServerComm::getNextMDD( unsigned long callingClientId, { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "getNextMDD" ) - RMInit::logOut << "Request: getNextMDD..." << std::flush; + RMInit::logOut << "Request (continuing): 'get next MDD'..." << std::flush; unsigned short returnValue = 0; @@ -3004,7 +2997,7 @@ ServerComm::getNextElement( unsigned long callingClientId, { RMDBGENTER(1, RMDebug::module_servercomm, "ServerComm", "getNextElement(...)") - RMInit::logOut << "Request: getNextElement..." << std::flush; + RMInit::logOut << "Request (continuing): 'get next element'..." << std::flush; unsigned short returnValue = 0; @@ -3209,7 +3202,7 @@ ServerComm::getMDDByOId( unsigned long callingClientId, { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "getMDDByOId" ) - RMInit::logOut << "Request: getMDDByOId with oid " << oid << "..." << std::flush; + RMInit::logOut << "Request: 'get MDD by OId', oid = " << oid << "..." << std::flush; unsigned short returnValue = 0; @@ -3354,7 +3347,7 @@ ServerComm::getNextTile( unsigned long callingClientId, { RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "getNextTile" ) - RMInit::logOut << "Request: getNextTile..." << std::flush; + RMInit::logOut << "Request (continuing): 'get next tile',..." << std::flush; unsigned long transOffset = 0; unsigned long transSize = 0; @@ -3618,7 +3611,7 @@ ServerComm::endTransfer( unsigned long client ) RMTimer* releaseTimer = 0; if( RManBenchmark > 0 ) - releaseTimer = new RMTimer("ServerComm", "release time "); + releaseTimer = new RMTimer("ServerComm", "release"); #endif // release transfer collection/iterator context->releaseTransferStructures(); @@ -3684,8 +3677,7 @@ ServerComm::getNewOId( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "getNewOId" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: getNewOId of type " - << (objType==1?"MDD":"collection") << "..." << std::flush; + RMInit::logOut << "Request: 'get new OId for " << (objType==1?"MDD":"collection") << " type'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -3725,7 +3717,7 @@ ServerComm::getObjectType( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "getObjectType" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: getObjectType by oid " << oid << "..." << std::flush; + RMInit::logOut << "Request: 'get object type by OID', oid = " << oid << "..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); @@ -3769,7 +3761,7 @@ ServerComm::getTypeStructure( unsigned long callingClientId, RMDBGENTER( 4, RMDebug::module_servercomm, "ServerComm", "getTypeStructure" ) unsigned short returnValue = 0; - RMInit::logOut << "Request: getTypeStructure of type '" << typeName << "'..." << std::flush; + RMInit::logOut << "Request: 'get type structure', type = '" << typeName << "'..." << std::flush; ClientTblElt* context = getClientContext( callingClientId ); if (context == 0) @@ -3831,7 +3823,7 @@ ServerComm::setTransferMode( unsigned long callingClientId, { RMDBGENTER(4, RMDebug::module_servercomm, "ServerComm", "setTransferMode(" << callingClientId << ", " << format << ", " << formatParams) - RMInit::logOut << "Request: setTransferMode..." << std::flush; + RMInit::logOut << "Request: 'set transfer mode', format = '" << format << "', params = '" << formatParams << "'..." << std::flush; unsigned short retval = 1; @@ -3888,7 +3880,7 @@ ServerComm::setStorageMode( unsigned long callingClientId, { RMDBGENTER(4, RMDebug::module_servercomm, "ServerComm", "setStorageMode(" << callingClientId << ", " << format << ", " << formatParams) - RMInit::logOut << "Request: setStorageMode..." << std::flush; + RMInit::logOut << "Request: 'set storage mode', format = " << format << ", params = " << formatParams << "..." << std::flush; unsigned short retval = 1; diff --git a/tilemgr/tile.cc b/tilemgr/tile.cc index ee2527b..9eddc6f 100644 --- a/tilemgr/tile.cc +++ b/tilemgr/tile.cc @@ -56,10 +56,9 @@ static const char rcsid[] = "@(#)cachetamgr,Tile: $Id: tile.cc,v 1.79 2005/09/03 #ifdef RMANBENCHMARK RMTimer Tile::opTimer("Tile","opTimer"); RMTimer Tile::relTimer("Tile","relTimer"); -RMTimer Tile::o2Timer("Tile","o2Timer"); +// RMTimer Tile::o2Timer("Tile","o2Timer"); #endif - const Tile& Tile::operator=(const Tile& tile) { diff --git a/tilemgr/tile.hh b/tilemgr/tile.hh index 79fd94a..05cd2cc 100644 --- a/tilemgr/tile.hh +++ b/tilemgr/tile.hh @@ -49,7 +49,7 @@ rasdaman GmbH. #include "reladminif/dbref.hh" #ifdef RMANBENCHMARK -#include "raslib/rmdebug.hh" // for RMTimer +#include "raslib/rmdebug.hh" // for RMTimer #endif class KeyObject; class PersMDDObjIx; @@ -368,11 +368,10 @@ class Tile */ #ifdef RMANBENCHMARK - // RMTimer for taking O2 times. Could be protected. Is controlled - // in servercomm/servercomm2.cc. - static RMTimer opTimer; - static RMTimer relTimer; - static RMTimer o2Timer; + // RMTimer for taking O2 times. Could be protected. Is controlled + // in servercomm/servercomm2.cc. + static RMTimer opTimer; + static RMTimer relTimer; #endif protected: diff --git a/time/Makefile.in b/time/Makefile.in index 2219251..c3e8a2c 100644 --- a/time/Makefile.in +++ b/time/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -45,8 +46,9 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -72,14 +74,29 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(libdir)" -libLIBRARIES_INSTALL = $(INSTALL_DATA) LIBRARIES = $(lib_LIBRARIES) AR = ar ARFLAGS = cru @@ -90,6 +107,7 @@ libtime_a_OBJECTS = $(am_libtime_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -147,6 +165,7 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAR_TOOL = @JAR_TOOL@ JAVA_CC = @JAVA_CC@ JAVA_CC_FLAGS = @JAVA_CC_FLAGS@ JAVA_CC_OPTS = @JAVA_CC_OPTS@ @@ -170,6 +189,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PG_CONFIG = @PG_CONFIG@ @@ -231,6 +251,7 @@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LIBRARIES = libtime.a @@ -243,14 +264,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu time/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu time/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu time/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu time/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -268,32 +289,36 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): install-libLIBRARIES: $(lib_LIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LIBRARIES)'; for p in $$list; do \ + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } @$(POST_INSTALL) - @list='$(lib_LIBRARIES)'; for p in $$list; do \ + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ if test -f $$p; then \ - p=$(am__strip_dir) \ - echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \ - $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \ + $(am__strip_dir) \ + echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ + ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ else :; fi; \ done uninstall-libLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ + cd "$(DESTDIR)$(libdir)" && rm -f $$files clean-libLIBRARIES: -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) @@ -313,14 +338,14 @@ distclean-compile: .cc.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` @@ -330,14 +355,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -345,29 +370,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -388,13 +418,17 @@ distdir: $(DISTFILES) if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -425,6 +459,7 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -445,6 +480,8 @@ dvi-am: html: html-am +html-am: + info: info-am info-am: @@ -453,18 +490,28 @@ install-data-am: install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-libLIBRARIES install-html: install-html-am +install-html-am: + install-info: install-info-am +install-info-am: + install-man: install-pdf: install-pdf-am +install-pdf-am: + install-ps: install-ps-am +install-ps-am: + installcheck-am: maintainer-clean: maintainer-clean-am @@ -501,6 +548,7 @@ uninstall-am: uninstall-libLIBRARIES mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-libLIBRARIES + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/time/akg_benchmark.cc b/time/akg_benchmark.cc deleted file mode 100644 index 6bb0c8d..0000000 --- a/time/akg_benchmark.cc +++ /dev/null @@ -1,123 +0,0 @@ -/* -* This file is part of rasdaman community. -* -* Rasdaman community is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* Rasdaman community is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. -* -* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / -rasdaman GmbH. -* -* For more information please see <http://www.rasdaman.org> -* or contact Peter Baumann via <baumann@rasdaman.com>. -*/ - -/************************************************************************* - * - * - * PURPOSE: - * - * - * - * COMMENTS: - * none - * - ***********************************************************************/ - -#include "akgtime.hh" -#include<iomanip> - -using namespace akg; - - -BenchmarkTimer::BenchmarkTimer(const char *lText, bool highPrecision) throw() - { - text = (char*)lText; - - precHigh = highPrecision; - } -BenchmarkTimer::~BenchmarkTimer() throw() - { - } - -void BenchmarkTimer::reset() throw() - { - tvStart.tv_sec = 0; - tvStart.tv_usec = 0; - tvEnd.tv_sec = 0; - tvEnd.tv_usec = 0; - } - -void BenchmarkTimer::start() throw() - { - gettimeofday(&tvStart,NULL); - } - -void BenchmarkTimer::stop() throw() - { - gettimeofday(&tvEnd,NULL); - timeval_subtract(&tvResult,&tvEnd,&tvStart); - } - -void BenchmarkTimer::setPrecision(bool high) throw() - { - precHigh = high; - } - -bool BenchmarkTimer::getPrecision() const throw() - { - return precHigh; - } - -int BenchmarkTimer::timeval_subtract(timeval *lResult,timeval *x,timeval *y) throw() - { - /* Perform the carry for the later subtraction by updating Y. */ - if (x->tv_usec < y->tv_usec) { - int nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1; - y->tv_usec -= 1000000 * nsec; - y->tv_sec += nsec; - } - if (x->tv_usec - y->tv_usec > 1000000) { - int nsec = (x->tv_usec - y->tv_usec) / 1000000; - y->tv_usec += 1000000 * nsec; - y->tv_sec -= nsec; - } - - /* Compute the time remaining to wait. - `tv_usec' is certainly positive. */ - lResult->tv_sec = x->tv_sec - y->tv_sec; - lResult->tv_usec = (x->tv_usec - y->tv_usec); - - /* Return 1 if result is negative. */ - return x->tv_sec < y->tv_sec; - } - - -std::ostream& akg::operator<<(std::ostream &os, BenchmarkTimer &bm) - { - if(bm.precHigh == true) - { - unsigned int msec = bm.tvResult.tv_sec*1000 + bm.tvResult.tv_usec / 1000; - unsigned int usec = bm.tvResult.tv_usec % 1000; - - os<<bm.text<<"="<<msec<<'.'<<std::setfill('0')<<std::setw(3)<<usec<<"ms"; - } - else - { - unsigned int msec = bm.tvResult.tv_usec / 1000; - unsigned int sec = bm.tvResult.tv_sec; - - os<<bm.text<<"="<<sec<<'.'<<std::setfill('0')<<std::setw(3)<<msec<<"s"; - } - return os; - } - |