diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-04-03 20:00:42 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-04-03 20:00:42 +0000 |
commit | e8f35bb025c25839a52fb502e452393831e4e6f0 (patch) | |
tree | 7a056253bddc61b1e6a3258567e176af128c2b67 /src/datastore/perf_plugin_datastore.c | |
parent | 9f871785d57da57ba128ac2279fda1db1d9b8bfb (diff) | |
download | gnunet-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.c | 76 |
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 | ||
203 | static int | ||
204 | dummy_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 | } |