added macro to time functions
authorkim <kim@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Fri, 6 Mar 2009 04:41:09 +0000 (04:41 +0000)
committerkim <kim@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Fri, 6 Mar 2009 04:41:09 +0000 (04:41 +0000)
git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/TextCollection@208 3cdefd35-fc62-479d-8e8d-bae585ffb9ca

timeTextCollection.cpp

index dbe1664..91c9404 100644 (file)
@@ -9,6 +9,14 @@ using std::string;
 #include <sys/time.h>
 #include <time.h>
 
+static struct timeval t1;
+static struct timeval t2;
+
+#define STARTTIMER() (gettimeofday(&t1,NULL))
+#define STOPTIMER()  (gettimeofday(&t2,NULL))
+#define GETTIME()    (((t2.tv_sec  - t1.tv_sec) * 1000000.0 + (t2.tv_usec  - t1.tv_usec))/1000.0)
+                      
+
 
 #include "TextCollection.h"
 using SXSI::TextCollection;
@@ -19,8 +27,6 @@ int main(int argc, char**argv)
   string buffer;
   unsigned int max_str = 0;
   unsigned int num_str = 0;
-  struct timeval t1;
-  struct timeval t2;
   double time;
 
   string words[] =  { "abcd", "abc", "mirrors", "attires", "mature",
@@ -32,20 +38,20 @@ int main(int argc, char**argv)
   TextCollection *csa = TextCollection::InitTextCollection(64);
 
 
-  gettimeofday(&t1,NULL);
+  STARTTIMER();
   std::cerr << "Filling collection\n";
+  // read only 100000 strings 
   while (not(cin.eof()) && num_str < 100000 ){
       getline(cin,str); // Read line by line.
       if (str.compare("----------") == 0){
        csa->InsertText((unsigned char*) buffer.c_str());
 
        if (num_str % 10000 == 0){
-               gettimeofday(&t2,NULL);
-               time = ((t2.tv_sec  - t1.tv_sec) * 1000000.0 
-                       + (t2.tv_usec  - t1.tv_usec))/1000.0;
-               std::cerr << "Added " << num_str << " strings in "
-                         << time  << " ms\n";
-               gettimeofday(&t1,NULL);
+         STOPTIMER();
+         time = GETTIME();
+         std::cerr << "Added " << num_str << " strings in "
+                   << time  << " ms\n";
+         STARTTIMER();
        };
 
        num_str++;
@@ -58,47 +64,46 @@ int main(int argc, char**argv)
        buffer.append(str);
   };
   std::cerr << "Calling MakeStatic()\n";
+  
   csa->MakeStatic();
+
   std::cerr << "Statistics: " << num_str << " strings, " << max_str << " = max length\n";
   int count;
   bool is;
   TextCollection::document_result res;
-  for (int i = 0; i < 14; i++){
-    gettimeofday(&t1,NULL);
+  for (unsigned int i = 0; i < (sizeof(words)/sizeof(char*)) ; i++){
+  
+    STARTTIMER();
     is = csa->IsContains((unsigned char*) words[i].c_str());
-    gettimeofday(&t2,NULL);
-    time = ((t2.tv_sec  - t1.tv_sec) * 1000000.0 
-           + (t2.tv_usec  - t1.tv_usec))/1000.0;
+    STOPTIMER();
+    time = GETTIME();
 
     std::cerr << is << ", " << time << ", ";
 
 
-    gettimeofday(&t1,NULL);
+    STARTTIMER();
     count = csa->Count((unsigned char*) words[i].c_str());
-    gettimeofday(&t2,NULL);
-    time = ((t2.tv_sec  - t1.tv_sec) * 1000000.0 
-           + (t2.tv_usec  - t1.tv_usec))/1000.0;
+    STOPTIMER();
+    time = GETTIME();
 
     std::cerr << count << ", " << time << ", ";
 
-    gettimeofday(&t1,NULL);
+
+    STARTTIMER();
     count = csa->CountContains((unsigned char*) words[i].c_str());
-    gettimeofday(&t2,NULL);
-    time = ((t2.tv_sec  - t1.tv_sec) * 1000000.0 
-           + (t2.tv_usec  - t1.tv_usec))/1000.0;
+    STOPTIMER();
+    time = GETTIME();
 
     std::cerr << count << ", " << time << ", ";
     
 
-    gettimeofday(&t1,NULL);
+    STARTTIMER();
     res = csa->Contains((unsigned char*) words[i].c_str());
-    gettimeofday(&t2,NULL);
-    time = ((t2.tv_sec  - t1.tv_sec) * 1000000.0 
-           + (t2.tv_usec  - t1.tv_usec))/1000.0;
+    STOPTIMER();
+    time = GETTIME();
     
     std::cerr << time << "\n";
     
-
     
   };