#include <xbt/dynar.h>
#include <xbt/parmap.h>
#include <xbt/sysdep.h>
-#include <internal_config.h> /* HAVE_FUTEX_H */
+#include "src/internal_config.h" /* HAVE_FUTEX_H */
#include "simgrid/simix.h"
#include "xbt/xbt_os_time.h"
static int parmap_skip_mode(e_xbt_parmap_mode_t mode)
{
switch (mode) {
-#ifndef HAVE_FUTEX_H
+#if !HAVE_FUTEX_H
case XBT_PARMAP_FUTEX:
printf("not available\n");
return 1;
i++;
} while (elapsed_time < TIMEOUT);
- printf("ran %d times in %g seconds (%g/s)\n",
- i, elapsed_time, i / elapsed_time);
+ printf("ran %d times in %g seconds (%g/s)\n", i, elapsed_time, i / elapsed_time);
xbt_dynar_free(&data);
xbt_free(a);
{
unsigned *a;
xbt_dynar_t data;
- xbt_parmap_t parmap;
- int i;
double start_time, elapsed_time;
printf("** mode = %-15s ", parmap_mode_name(mode));
array_new(&a, &data);
- parmap = xbt_parmap_new(nthreads, mode);
- i = 0;
+ xbt_parmap_t parmap = xbt_parmap_new(nthreads, mode);
+ int i = 0;
start_time = xbt_os_time();
do {
xbt_parmap_apply(parmap, fun_to_apply, data);
static void bench_all_modes(void (*bench_fun)(int, e_xbt_parmap_mode_t),
int nthreads, unsigned modes)
{
- e_xbt_parmap_mode_t all_modes[] = {
- XBT_PARMAP_POSIX, XBT_PARMAP_FUTEX,
- XBT_PARMAP_BUSY_WAIT, XBT_PARMAP_DEFAULT
- };
- unsigned i;
- for (i = 0 ; i < sizeof all_modes / sizeof all_modes[0] ; i++) {
+ e_xbt_parmap_mode_t all_modes[] = {XBT_PARMAP_POSIX, XBT_PARMAP_FUTEX, XBT_PARMAP_BUSY_WAIT, XBT_PARMAP_DEFAULT};
+
+ for (unsigned i = 0 ; i < sizeof all_modes / sizeof all_modes[0] ; i++) {
if (1U << i & modes)
bench_fun(nthreads, all_modes[i]);
}
SIMIX_global_init(&argc, argv);
if (argc != 2 && argc != 3) {
- fprintf(stderr,
- "Usage: %s nthreads [modes]\n"
+ fprintf(stderr, "Usage: %s nthreads [modes]\n"
" nthreads - number of working threads\n"
" modes - bitmask of modes to test\n",
argv[0]);
if (argc == 3)
modes = strtol(argv[2], NULL, 0);
- printf("Parmap benchmark with %d workers (modes = %#x)...\n\n",
- nthreads, modes);
+ printf("Parmap benchmark with %d workers (modes = %#x)...\n\n", nthreads, modes);
fun_to_apply = fun_small_comp;