57 #define GET(context, name) (grn_ctx_get(context, name, strlen(name)))
75 bench_geo_distance(gpointer user_data)
84 bench_setup_common(gpointer user_data)
94 bench_setup_points(gpointer user_data,
95 const gchar *start_point_string,
96 const gchar *end_point_string,
100 grn_obj start_point_text, end_point_text;
119 bench_setup_wgs84(gpointer user_data)
121 bench_setup_common(user_data);
122 bench_setup_points(user_data,
123 "127980000x502560000",
124 "128880000x503640000",
129 bench_setup_tgs(gpointer user_data)
131 bench_setup_common(user_data);
132 bench_setup_points(user_data,
133 "127980000x502560000",
134 "128880000x503640000",
139 bench_setup_rectangular_wgs84(gpointer user_data)
143 bench_setup_wgs84(user_data);
148 bench_setup_rectangular_tgs(gpointer user_data)
152 bench_setup_tgs(user_data);
157 bench_setup_rectangular_wgs84_1st_to_2nd_quadrant_short(gpointer user_data)
161 bench_setup_common(user_data);
162 bench_setup_points(user_data,
163 "128452975x503157902",
164 "139380000x-31920000",
170 bench_setup_rectangular_wgs84_2nd_to_1st_quadrant_short(gpointer user_data)
174 bench_setup_common(user_data);
175 bench_setup_points(user_data,
176 "139380000x-31920000",
177 "128452975x503157902",
183 bench_setup_rectangular_wgs84_1st_to_3rd_quadrant_short(gpointer user_data)
187 bench_setup_common(user_data);
188 bench_setup_points(user_data,
189 "128452975x503157902",
190 "-56880000x-172310000",
196 bench_setup_rectangular_wgs84_3rd_to_1st_quadrant_short(gpointer user_data)
200 bench_setup_common(user_data);
201 bench_setup_points(user_data,
202 "-56880000x-172310000",
203 "128452975x503157902",
209 bench_setup_rectangular_wgs84_1st_to_4th_quadrant_short(gpointer user_data)
213 bench_setup_common(user_data);
214 bench_setup_points(user_data,
215 "128452975x503157902",
216 "-122100000x66300000",
222 bench_setup_rectangular_wgs84_4th_to_1st_quadrant_short(gpointer user_data)
226 bench_setup_common(user_data);
227 bench_setup_points(user_data,
228 "-122100000x66300000",
229 "128452975x503157902",
235 bench_setup_rectangular_wgs84_2nd_to_4th_quadrant_short(gpointer user_data)
239 bench_setup_common(user_data);
240 bench_setup_points(user_data,
241 "139380000x-31920000",
242 "-122100000x66300000",
248 bench_setup_rectangular_wgs84_4th_to_2nd_quadrant_short(gpointer user_data)
252 bench_setup_common(user_data);
253 bench_setup_points(user_data,
254 "-122100000x66300000",
255 "139380000x-31920000",
261 bench_setup_rectangular_wgs84_1st_to_2nd_quadrant_long(gpointer user_data)
265 bench_setup_common(user_data);
266 bench_setup_points(user_data,
267 "128452975x503157902",
268 "135960000x-440760000",
274 bench_setup_rectangular_wgs84_2nd_to_1st_quadrant_long(gpointer user_data)
278 bench_setup_common(user_data);
279 bench_setup_points(user_data,
280 "135960000x-440760000",
281 "128452975x503157902",
287 bench_setup_rectangular_wgs84_2nd_to_3rd_quadrant_short(gpointer user_data)
291 bench_setup_common(user_data);
292 bench_setup_points(user_data,
293 "135960000x-440760000",
294 "-56880000x-172310000",
300 bench_setup_rectangular_wgs84_3rd_to_2nd_quadrant_short(gpointer user_data)
304 bench_setup_common(user_data);
305 bench_setup_points(user_data,
306 "-56880000x-172310000",
307 "135960000x-440760000",
313 bench_setup_rectangular_wgs84_3rd_to_4th_quadrant_short(gpointer user_data)
317 bench_setup_common(user_data);
318 bench_setup_points(user_data,
319 "-56880000x-172310000",
320 "-122100000x66300000",
326 bench_setup_rectangular_wgs84_4th_to_3rd_quadrant_short(gpointer user_data)
330 bench_setup_common(user_data);
331 bench_setup_points(user_data,
332 "-122100000x66300000",
333 "-56880000x-172310000",
339 bench_setup_rectangular_wgs84_3rd_to_4th_quadrant_long(gpointer user_data)
343 bench_setup_common(user_data);
344 bench_setup_points(user_data,
345 "-56880000x-172310000",
346 "-121926000x544351000",
352 bench_setup_rectangular_wgs84_4th_to_3rd_quadrant_long(gpointer user_data)
356 bench_setup_common(user_data);
357 bench_setup_points(user_data,
358 "-121926000x544351000",
359 "-56880000x-172310000",
365 bench_setup_spherical_wgs84(gpointer user_data)
369 bench_setup_wgs84(user_data);
374 bench_setup_spherical_tgs(gpointer user_data)
378 bench_setup_tgs(user_data);
383 bench_setup_hubeny_wgs84(gpointer user_data)
387 bench_setup_wgs84(user_data);
392 bench_setup_hubeny_tgs(gpointer user_data)
396 bench_setup_tgs(user_data);
401 bench_teardown(gpointer user_data)
431 data.
report_result = g_getenv(
"GROONGA_BENCH_REPORT_RESULT") != NULL;
435 const gchar *groonga_bench_n;
436 groonga_bench_n = g_getenv(
"GROONGA_BENCH_N");
437 if (groonga_bench_n) {
438 n = atoi(groonga_bench_n);
444 #define REGISTER(label, setup) \
445 bench_reporter_register(reporter, label, n, \
446 bench_setup_ ## setup, \
447 bench_geo_distance, \
450 REGISTER(
"rectangular (WGS84)", rectangular_wgs84);
451 REGISTER(
"rectangular (TOKYO)", rectangular_tgs);
452 REGISTER(
"rectangular (WGS84 Tokyo to Lisbon)",
453 rectangular_wgs84_1st_to_2nd_quadrant_short);
454 REGISTER(
"rectangular (WGS84 Lisbon to Tokyo)",
455 rectangular_wgs84_2nd_to_1st_quadrant_short);
456 REGISTER(
"rectangular (WGS84 Tokyo to San Francisco)",
457 rectangular_wgs84_1st_to_2nd_quadrant_long);
458 REGISTER(
"rectangular (WGS84 San Francisco to Tokyo)",
459 rectangular_wgs84_2nd_to_1st_quadrant_long);
460 REGISTER(
"rectangular (WGS84 Brasplia to Cape Town)",
461 rectangular_wgs84_3rd_to_4th_quadrant_short);
462 REGISTER(
"rectangular (WGS84 Cape Town to Brasplia)",
463 rectangular_wgs84_4th_to_3rd_quadrant_short);
464 REGISTER(
"rectangular (WGS84 Brasplia to Sydney)",
465 rectangular_wgs84_3rd_to_4th_quadrant_long);
466 REGISTER(
"rectangular (WGS84 Sydney to Brasplia)",
467 rectangular_wgs84_4th_to_3rd_quadrant_long);
468 REGISTER(
"rectangular (WGS84 Tokyo to Brasplia)",
469 rectangular_wgs84_1st_to_4th_quadrant_short);
470 REGISTER(
"rectangular (WGS84 Brasplia to Tokyo)",
471 rectangular_wgs84_4th_to_1st_quadrant_short);
472 REGISTER(
"rectangular (WGS84 Lisbon to Cape Town)",
473 rectangular_wgs84_2nd_to_3rd_quadrant_short);
474 REGISTER(
"rectangular (WGS84 Cape Town to Lisbon)",
475 rectangular_wgs84_3rd_to_2nd_quadrant_short);
476 REGISTER(
"rectangular (WGS84 Tokyo to Cape Town)",
477 rectangular_wgs84_1st_to_3rd_quadrant_short);
478 REGISTER(
"rectangular (WGS84 Cape Town to Tokyo)",
479 rectangular_wgs84_3rd_to_1st_quadrant_short);
480 REGISTER(
"rectangular (WGS84 Lisbon to Cape Town)",
481 rectangular_wgs84_2nd_to_4th_quadrant_short);
482 REGISTER(
"rectangular (WGS84 Cape Town to Lisbon)",
483 rectangular_wgs84_4th_to_2nd_quadrant_short);
484 REGISTER(
"spherical (WGS84)", spherical_wgs84);
485 REGISTER(
"spherical (TOKYO)", spherical_tgs);
486 REGISTER(
"hubeny (WGS84)", hubeny_wgs84);
487 REGISTER(
"hubeny (TOKYO)", hubeny_tgs);
491 g_object_unref(reporter);