]> mj.ucw.cz Git - libucw.git/blobdiff - debug/sorter/asio-test.c
Merge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
[libucw.git] / debug / sorter / asio-test.c
index 974f70a1a03430b3fd936ec6302fb1b435755631..40df77b33125c175e9858b6a290f4edbde7b2149 100644 (file)
 #define COPY
 #define DIRECT O_DIRECT
 
+static timestamp_t timer;
+
 #define P_INIT do { cnt = 0; cnt_rep = 0; cnt_ms = 1; } while(0)
 #define P_UPDATE(cc) do { \
   cnt += cc; \
-  if (cnt >= cnt_rep) { cnt_ms += get_timer(); \
+  if (cnt >= cnt_rep) { cnt_ms += get_timer(&timer); \
     printf("%d of %d MB (%.2f MB/sec)\r", (int)(cnt >> 20), (int)(total_size >> 20), (double)cnt / 1048576 * 1000 / cnt_ms); \
     fflush(stdout); cnt_rep += 1<<26; } } while(0)
 #define P_FINAL do { \
-  cnt_ms += get_timer(); \
-  log(L_INFO, "Spent %.3f sec (%.2f MB/sec)", (double)cnt_ms/1000, (double)cnt / 1048576 * 1000 / cnt_ms); \
+  cnt_ms += get_timer(&timer); \
+  msg(L_INFO, "Spent %.3f sec (%.2f MB/sec)", (double)cnt_ms/1000, (double)cnt / 1048576 * 1000 / cnt_ms); \
 } while(0)
 
 static struct asio_queue io_queue;
@@ -40,14 +42,14 @@ int main(int argc, char **argv)
   byte name[files][16];
   struct asio_request *req[files];
 
-  init_timer();
+  init_timer(&timer);
 
   io_queue.buffer_size = bufsize;
   io_queue.max_writebacks = 2;
   asio_init_queue(&io_queue);
 
 #ifdef COPY
-  log(L_INFO, "Creating input file");
+  msg(L_INFO, "Creating input file");
   int in_fd = sh_open("tmp/ft-in", O_RDWR | O_CREAT | O_TRUNC | DIRECT, 0666);
   ASSERT(in_fd >= 0);
   ASSERT(!(total_size % bufsize));
@@ -70,7 +72,7 @@ int main(int argc, char **argv)
   P_FINAL;
 #endif
 
-  log(L_INFO, "Initializing output files");
+  msg(L_INFO, "Initializing output files");
   for (uns i=0; i<files; i++)
     {
       sprintf(name[i], "tmp/ft-%d", i);
@@ -79,9 +81,9 @@ int main(int argc, char **argv)
        die("Cannot create %s: %m", name[i]);
     }
   sync();
-  get_timer();
+  get_timer(&timer);
 
-  log(L_INFO, "Writing %d MB to %d files in parallel with %d byte buffers", (int)(total_size >> 20), files, bufsize);
+  msg(L_INFO, "Writing %d MB to %d files in parallel with %d byte buffers", (int)(total_size >> 20), files, bufsize);
   P_INIT;
   for (uns i=0; i<files; i++)
     req[i] = asio_get(&io_queue);
@@ -118,11 +120,11 @@ int main(int argc, char **argv)
 #ifdef COPY
   close(in_fd);
 #endif
-  log(L_INFO, "Syncing");
+  msg(L_INFO, "Syncing");
   sync();
   P_FINAL;
 
-  log(L_INFO, "Reading the files sequentially");
+  msg(L_INFO, "Reading the files sequentially");
   P_INIT;
   for (uns i=0; i<files; i++)
     {
@@ -150,6 +152,6 @@ int main(int argc, char **argv)
 #endif
 
   asio_cleanup_queue(&io_queue);
-  log(L_INFO, "Done");
+  msg(L_INFO, "Done");
   return 0;
 }