aboutsummaryrefslogtreecommitdiff
path: root/src/datastore/perf_plugin_datastore.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2009-07-17 21:09:54 +0000
committerChristian Grothoff <christian@grothoff.org>2009-07-17 21:09:54 +0000
commita1f0c51bc626efeab9d842765fd1aede65035f93 (patch)
tree3cace958e8aa5cafd5774aa8671a1c27c3d441d4 /src/datastore/perf_plugin_datastore.c
parent4524a128f4f6e72a802dd7b1c4130d5c746467f2 (diff)
downloadgnunet-a1f0c51bc626efeab9d842765fd1aede65035f93.tar.gz
gnunet-a1f0c51bc626efeab9d842765fd1aede65035f93.zip
implementing all-now iterator
Diffstat (limited to 'src/datastore/perf_plugin_datastore.c')
-rw-r--r--src/datastore/perf_plugin_datastore.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/datastore/perf_plugin_datastore.c b/src/datastore/perf_plugin_datastore.c
index fce5ef9ea..85659f06a 100644
--- a/src/datastore/perf_plugin_datastore.c
+++ b/src/datastore/perf_plugin_datastore.c
@@ -28,7 +28,7 @@
28#include "gnunet_protocols.h" 28#include "gnunet_protocols.h"
29#include "plugin_datastore.h" 29#include "plugin_datastore.h"
30 30
31#define VERBOSE GNUNET_YES 31#define VERBOSE GNUNET_NO
32 32
33/** 33/**
34 * Target datastore size (in bytes). Realistic sizes are 34 * Target datastore size (in bytes). Realistic sizes are
@@ -36,10 +36,9 @@
36 * those take too long to run them in the usual "make check" 36 * those take too long to run them in the usual "make check"
37 * sequence. Hence the value used for shipping is tiny. 37 * sequence. Hence the value used for shipping is tiny.
38 */ 38 */
39#define MAX_SIZE 1024LL * 1024 39#define MAX_SIZE 1024LL * 1024 * 128
40/* * 128 */
41 40
42#define ITERATIONS 2 41#define ITERATIONS 10
43 42
44/** 43/**
45 * Number of put operations equivalent to 1/10th of MAX_SIZE 44 * Number of put operations equivalent to 1/10th of MAX_SIZE
@@ -76,6 +75,7 @@ struct CpsRunContext
76 struct GNUNET_DATASTORE_PluginFunctions * api; 75 struct GNUNET_DATASTORE_PluginFunctions * api;
77 const char *msg; 76 const char *msg;
78 enum RunPhase phase; 77 enum RunPhase phase;
78 unsigned int cnt;
79}; 79};
80 80
81 81
@@ -152,7 +152,8 @@ iterateDummy (void *cls,
152 crc->end = GNUNET_TIME_absolute_get(); 152 crc->end = GNUNET_TIME_absolute_get();
153 printf (crc->msg, 153 printf (crc->msg,
154 crc->i, 154 crc->i,
155 (unsigned long long) (crc->end.value - crc->start.value)); 155 (unsigned long long) (crc->end.value - crc->start.value),
156 crc->cnt);
156 if (crc->phase != RP_AN_GET) 157 if (crc->phase != RP_AN_GET)
157 { 158 {
158 crc->phase++; 159 crc->phase++;
@@ -171,7 +172,7 @@ iterateDummy (void *cls,
171 &test, crc); 172 &test, crc);
172 return GNUNET_OK; 173 return GNUNET_OK;
173 } 174 }
174 fprintf (stderr, "."); 175 crc->cnt++;
175 crc->api->next_request (next_cls, 176 crc->api->next_request (next_cls,
176 GNUNET_NO); 177 GNUNET_NO);
177 return GNUNET_OK; 178 return GNUNET_OK;
@@ -238,8 +239,10 @@ test (void *cls,
238 for (j=0;j<PUT_10;j++) 239 for (j=0;j<PUT_10;j++)
239 putValue (crc->api, j, crc->i); 240 putValue (crc->api, j, crc->i);
240 crc->end = GNUNET_TIME_absolute_get (); 241 crc->end = GNUNET_TIME_absolute_get ();
241 printf ("%3u insertion took %20llums\n", crc->i, 242 printf ("%3u insertion took %20llums for %u\n",
242 (unsigned long long) (crc->end.value - crc->start.value)); 243 crc->i,
244 (unsigned long long) (crc->end.value - crc->start.value),
245 (unsigned int) PUT_10);
243 crc->i++; 246 crc->i++;
244 crc->phase = RP_LP_GET; 247 crc->phase = RP_LP_GET;
245 GNUNET_SCHEDULER_add_after (crc->sched, 248 GNUNET_SCHEDULER_add_after (crc->sched,
@@ -249,36 +252,41 @@ test (void *cls,
249 &test, crc); 252 &test, crc);
250 break; 253 break;
251 case RP_LP_GET: 254 case RP_LP_GET:
255 crc->cnt = 0;
252 crc->start = GNUNET_TIME_absolute_get (); 256 crc->start = GNUNET_TIME_absolute_get ();
253 crc->msg = "%3u low priority iteration took %20llums\n"; 257 crc->msg = "%3u low priority iteration took %20llums for %u\n";
254 crc->api->iter_low_priority (crc->api->cls, 0, 258 crc->api->iter_low_priority (crc->api->cls, 0,
255 &iterateDummy, 259 &iterateDummy,
256 crc); 260 crc);
257 break; 261 break;
258 case RP_AE_GET: 262 case RP_AE_GET:
263 crc->cnt = 0;
259 crc->start = GNUNET_TIME_absolute_get (); 264 crc->start = GNUNET_TIME_absolute_get ();
260 crc->msg = "%3u ascending expiration iteration took %20llums\n"; 265 crc->msg = "%3u ascending expiration iteration took %20llums for %u\n";
261 crc->api->iter_ascending_expiration (crc->api->cls, 0, 266 crc->api->iter_ascending_expiration (crc->api->cls, 0,
262 &iterateDummy, 267 &iterateDummy,
263 crc); 268 crc);
264 break; 269 break;
265 case RP_ZA_GET: 270 case RP_ZA_GET:
271 crc->cnt = 0;
266 crc->start = GNUNET_TIME_absolute_get (); 272 crc->start = GNUNET_TIME_absolute_get ();
267 crc->msg = "%3u zero anonymity iteration took %20llums\n"; 273 crc->msg = "%3u zero anonymity iteration took %20llums for %u\n";
268 crc->api->iter_zero_anonymity (crc->api->cls, 0, 274 crc->api->iter_zero_anonymity (crc->api->cls, 0,
269 &iterateDummy, 275 &iterateDummy,
270 crc); 276 crc);
271 break; 277 break;
272 case RP_MO_GET: 278 case RP_MO_GET:
279 crc->cnt = 0;
273 crc->start = GNUNET_TIME_absolute_get (); 280 crc->start = GNUNET_TIME_absolute_get ();
274 crc->msg = "%3u migration order iteration took %20llums\n"; 281 crc->msg = "%3u migration order iteration took %20llums for %u\n";
275 crc->api->iter_migration_order (crc->api->cls, 0, 282 crc->api->iter_migration_order (crc->api->cls, 0,
276 &iterateDummy, 283 &iterateDummy,
277 crc); 284 crc);
278 break; 285 break;
279 case RP_AN_GET: 286 case RP_AN_GET:
287 crc->cnt = 0;
280 crc->start = GNUNET_TIME_absolute_get (); 288 crc->start = GNUNET_TIME_absolute_get ();
281 crc->msg = "%3u all now iteration took %20llums\n"; 289 crc->msg = "%3u all now iteration took %20llums for %u\n";
282 crc->api->iter_all_now (crc->api->cls, 0, 290 crc->api->iter_all_now (crc->api->cls, 0,
283 &iterateDummy, 291 &iterateDummy,
284 crc); 292 crc);