X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=lib%2Fsorter%2Fsort-test.c;h=f103710070e9115e4b1544323b5b24ec2e725969;hb=5f2e7e93768113f1e80ac2502e670632762fb696;hp=2909599f838d64e245c4126283e7aba70a7331c9;hpb=1abbc2deb8deef4d440f36e32d031b6803224dcd;p=libucw.git diff --git a/lib/sorter/sort-test.c b/lib/sorter/sort-test.c index 2909599f..f1037100 100644 --- a/lib/sorter/sort-test.c +++ b/lib/sorter/sort-test.c @@ -11,6 +11,7 @@ #include "lib/getopt.h" #include "lib/conf.h" #include "lib/fastbuf.h" +#include "lib/ff-binary.h" #include "lib/hashfunc.h" #include "lib/md5.h" @@ -18,19 +19,24 @@ #include #include #include +#include /*** Time measurement ***/ +static timestamp_t timer; + static void start(void) { - init_timer(); + sync(); + init_timer(&timer); } static void stop(void) { - log(L_INFO, "Test took %.3fs", get_timer() / 1000.); + sync(); + log(L_INFO, "Test took %.3fs", get_timer(&timer) / 1000.); } /*** Simple 4-byte integer keys ***/ @@ -45,6 +51,7 @@ struct key1 { #define SORT_OUTPUT_FB #define SORT_UNIQUE #define SORT_INT(k) (k).x +#define SORT_DELETE_INPUT 0 #include "lib/sorter/sorter.h" @@ -88,13 +95,6 @@ static inline void s2_write_merged(struct fastbuf *f, struct key2 **k, void **d bwrite(f, k[0], sizeof(struct key2)); } -static inline void s2_copy_merged(struct key2 **k, struct fastbuf **d UNUSED, uns n, struct fastbuf *dest) -{ - for (uns i=1; icnt += k[i]->cnt; - bwrite(dest, k[0], sizeof(struct key2)); -} - #define SORT_KEY_REGULAR struct key2 #define SORT_PREFIX(x) s2_##x #define SORT_INPUT_FB @@ -407,7 +407,6 @@ static int s5_gen(struct s5_pair *p) static void s5_write_merged(struct fastbuf *f, struct key5 **keys, void **data, uns n, void *buf) { - /* FIXME: Allow mode where this function is not defined? */ u32 *a = buf; uns m = 0; for (uns i=0; i>> 64-bit integers (%s, N=%llu)", ((char *[]) { "increasing", "decreasing", "random" })[mode], (long long)N); + + struct fastbuf *f = bopen_tmp(65536); + for (u64 i=0; i