projects
/
SXSI
/
TextCollection.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added macro to time functions
[SXSI/TextCollection.git]
/
timeTextCollection.cpp
diff --git
a/timeTextCollection.cpp
b/timeTextCollection.cpp
index
dbe1664
..
91c9404
100644
(file)
--- a/
timeTextCollection.cpp
+++ b/
timeTextCollection.cpp
@@
-9,6
+9,14
@@
using std::string;
#include <sys/time.h>
#include <time.h>
#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;
#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;
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",
double time;
string words[] = { "abcd", "abc", "mirrors", "attires", "mature",
@@
-32,20
+38,20
@@
int main(int argc, char**argv)
TextCollection *csa = TextCollection::InitTextCollection(64);
TextCollection *csa = TextCollection::InitTextCollection(64);
-
gettimeofday(&t1,NULL
);
+
STARTTIMER(
);
std::cerr << "Filling collection\n";
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){
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++;
};
num_str++;
@@
-58,47
+64,46
@@
int main(int argc, char**argv)
buffer.append(str);
};
std::cerr << "Calling MakeStatic()\n";
buffer.append(str);
};
std::cerr << "Calling MakeStatic()\n";
+
csa->MakeStatic();
csa->MakeStatic();
+
std::cerr << "Statistics: " << num_str << " strings, " << max_str << " = max length\n";
int count;
bool is;
TextCollection::document_result res;
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());
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 << ", ";
std::cerr << is << ", " << time << ", ";
-
gettimeofday(&t1,NULL
);
+
STARTTIMER(
);
count = csa->Count((unsigned char*) words[i].c_str());
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 << ", ";
std::cerr << count << ", " << time << ", ";
- gettimeofday(&t1,NULL);
+
+ STARTTIMER();
count = csa->CountContains((unsigned char*) words[i].c_str());
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 << ", ";
std::cerr << count << ", " << time << ", ";
-
gettimeofday(&t1,NULL
);
+
STARTTIMER(
);
res = csa->Contains((unsigned char*) words[i].c_str());
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";
std::cerr << time << "\n";
-
};
};