Entry point for fuzzy benchmark.
239{
240 int iterations = 100000;
241
242 if (argc > 1)
243 {
244 iterations = atoi(argv[1]);
245 if (iterations <= 0)
246 iterations = 100000;
247 }
248
249 if (iterations < 100)
250 iterations = 100;
251
252 printf("=================================================================\n");
253 printf("libfuzzy Benchmark - %d iterations per test\n", iterations);
254 printf("=================================================================\n\n");
255
256 printf("Test Time Per Op Throughput Results\n");
257 printf("------------------------------------------------------------------------------------------------------------------------------\n");
258
259
260 benchmark_basic(
"box",
"mailbox", iterations,
"Short pattern + short candidate");
261
262
264 "Short pattern + medium candidate");
265
266
267 benchmark_basic(
"arch",
"Archive/2024/January/Projects/NeoMutt", iterations,
268 "Short pattern + long candidate");
269
270
272 iterations, "Medium pattern + long candidate");
273
274
276
277
279
280
281 benchmark_basic(
"mlnd",
"mailing_list_node_database", iterations,
"Scattered match");
282
283
285
286 printf("\n");
287
288
289 printf(
"Realistic Scenario - Searching mailbox list (%d mailboxes)\n",
NUM_MAILBOXES);
290 printf("------------------------------------------------------------------------------------------------------------------------------\n");
295
296 printf("\n");
297
298
299 printf("Options Comparison\n");
300 printf("------------------------------------------------------------------------------------------------------------------------------\n");
302
303 printf("\n");
304
305 printf("=================================================================\n");
306 printf("Benchmark Complete\n");
307 printf("=================================================================\n");
308
309 return 0;
310}
static void benchmark_mailbox_list(const char *pattern, int iterations)
Benchmark searching through mailbox list.
static void benchmark_basic(const char *pattern, const char *candidate, int iterations, const char *description)
Basic pattern matching benchmark.
static void benchmark_options(const char *pattern, const char *candidate, int iterations)
Benchmark with different options.