aboutsummaryrefslogtreecommitdiff
path: root/src/datastore/perf_plugin_datastore.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-04-03 20:00:42 +0000
committerChristian Grothoff <christian@grothoff.org>2011-04-03 20:00:42 +0000
commite8f35bb025c25839a52fb502e452393831e4e6f0 (patch)
tree7a056253bddc61b1e6a3258567e176af128c2b67 /src/datastore/perf_plugin_datastore.c
parent9f871785d57da57ba128ac2279fda1db1d9b8bfb (diff)
downloadgnunet-e8f35bb025c25839a52fb502e452393831e4e6f0.tar.gz
gnunet-e8f35bb025c25839a52fb502e452393831e4e6f0.zip
improving datastore API --- not working yet
Diffstat (limited to 'src/datastore/perf_plugin_datastore.c')
-rw-r--r--src/datastore/perf_plugin_datastore.c76
1 files changed, 46 insertions, 30 deletions
diff --git a/src/datastore/perf_plugin_datastore.c b/src/datastore/perf_plugin_datastore.c
index cb25da46b..f7216a5a6 100644
--- a/src/datastore/perf_plugin_datastore.c
+++ b/src/datastore/perf_plugin_datastore.c
@@ -62,7 +62,6 @@ enum RunPhase
62 RP_LP_GET, 62 RP_LP_GET,
63 RP_AE_GET, 63 RP_AE_GET,
64 RP_ZA_GET, 64 RP_ZA_GET,
65 RP_MO_GET,
66 RP_AN_GET 65 RP_AN_GET
67 }; 66 };
68 67
@@ -183,8 +182,9 @@ iterateDummy (void *cls,
183 else 182 else
184 crc->phase = RP_PUT; 183 crc->phase = RP_PUT;
185 } 184 }
186 GNUNET_SCHEDULER_add_after (GNUNET_SCHEDULER_NO_TASK, 185 crc->cnt = 0;
187 &test, crc); 186 crc->start = GNUNET_TIME_absolute_get ();
187 GNUNET_SCHEDULER_add_now (&test, crc);
188 return GNUNET_OK; 188 return GNUNET_OK;
189 } 189 }
190#if VERBOSE 190#if VERBOSE
@@ -200,6 +200,37 @@ iterateDummy (void *cls,
200 200
201 201
202 202
203static int
204dummy_get (void *cls,
205 void *next_cls,
206 const GNUNET_HashCode * key,
207 uint32_t size,
208 const void *data,
209 enum GNUNET_BLOCK_Type type,
210 uint32_t priority,
211 uint32_t anonymity,
212 struct GNUNET_TIME_Absolute
213 expiration,
214 uint64_t uid)
215{
216 struct CpsRunContext *crc = cls;
217
218 crc->cnt++;
219 if (1000 == crc->cnt)
220 {
221 crc->end = GNUNET_TIME_absolute_get();
222 printf (crc->msg,
223 crc->i,
224 (unsigned long long) (crc->end.abs_value - crc->start.abs_value),
225 crc->cnt);
226 crc->phase++;
227 crc->cnt = 0;
228 crc->start = GNUNET_TIME_absolute_get ();
229 }
230 GNUNET_SCHEDULER_add_now (&test, crc);
231 return GNUNET_OK;
232}
233
203/** 234/**
204 * Function called when the service shuts 235 * Function called when the service shuts
205 * down. Unloads our datastore plugin. 236 * down. Unloads our datastore plugin.
@@ -265,46 +296,31 @@ test (void *cls,
265 (unsigned long long) (crc->end.abs_value - crc->start.abs_value), 296 (unsigned long long) (crc->end.abs_value - crc->start.abs_value),
266 (unsigned int) PUT_10); 297 (unsigned int) PUT_10);
267 crc->i++; 298 crc->i++;
299 crc->start = GNUNET_TIME_absolute_get ();
268 crc->phase = RP_LP_GET; 300 crc->phase = RP_LP_GET;
269 GNUNET_SCHEDULER_add_after (GNUNET_SCHEDULER_NO_TASK, 301 GNUNET_SCHEDULER_add_after (GNUNET_SCHEDULER_NO_TASK,
270 &test, crc); 302 &test, crc);
271 break; 303 break;
272 case RP_LP_GET: 304 case RP_LP_GET:
273 crc->cnt = 0; 305 crc->msg = "%3u replication iteration took %20llums for %u\n";
274 crc->start = GNUNET_TIME_absolute_get (); 306 crc->api->replication_get (crc->api->cls,
275 crc->msg = "%3u low priority iteration took %20llums for %u\n"; 307 &dummy_get,
276 crc->api->iter_low_priority (crc->api->cls, 0, 308 crc);
277 &iterateDummy,
278 crc);
279 break; 309 break;
280 case RP_AE_GET: 310 case RP_AE_GET:
281 crc->cnt = 0; 311 crc->msg = "%3u expiration iteration took %20llums for %u\n";
282 crc->start = GNUNET_TIME_absolute_get (); 312 crc->api->expiration_get (crc->api->cls,
283 crc->msg = "%3u ascending expiration iteration took %20llums for %u\n"; 313 &dummy_get,
284 crc->api->iter_ascending_expiration (crc->api->cls, 0, 314 crc);
285 &iterateDummy,
286 crc);
287 break; 315 break;
288 case RP_ZA_GET: 316 case RP_ZA_GET:
289 crc->cnt = 0; 317 crc->msg = "%3u zero anonymity iteration took %20llums for %u\n";
290 crc->start = GNUNET_TIME_absolute_get ();
291 crc->msg = "%3u zero anonymity iteration took %20llums for %u\n";
292 crc->api->iter_zero_anonymity (crc->api->cls, 0, 318 crc->api->iter_zero_anonymity (crc->api->cls, 0,
293 &iterateDummy, 319 &iterateDummy,
294 crc); 320 crc);
295 break; 321 break;
296 case RP_MO_GET:
297 crc->cnt = 0;
298 crc->start = GNUNET_TIME_absolute_get ();
299 crc->msg = "%3u migration order iteration took %20llums for %u\n";
300 crc->api->iter_migration_order (crc->api->cls, 0,
301 &iterateDummy,
302 crc);
303 break;
304 case RP_AN_GET: 322 case RP_AN_GET:
305 crc->cnt = 0; 323 crc->msg = "%3u all now iteration took %20llums for %u\n";
306 crc->start = GNUNET_TIME_absolute_get ();
307 crc->msg = "%3u all now iteration took %20llums for %u\n";
308 crc->api->iter_all_now (crc->api->cls, 0, 324 crc->api->iter_all_now (crc->api->cls, 0,
309 &iterateDummy, 325 &iterateDummy,
310 crc); 326 crc);
@@ -312,7 +328,7 @@ test (void *cls,
312 case RP_DONE: 328 case RP_DONE:
313 crc->api->drop (crc->api->cls); 329 crc->api->drop (crc->api->cls);
314 GNUNET_SCHEDULER_add_with_priority (GNUNET_SCHEDULER_PRIORITY_IDLE, 330 GNUNET_SCHEDULER_add_with_priority (GNUNET_SCHEDULER_PRIORITY_IDLE,
315 &cleaning_task, crc); 331 &cleaning_task, crc);
316 break; 332 break;
317 } 333 }
318} 334}