X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9d186d408714052004377be2c09487efc0c865e5..05769734ac1a0c11d3e9fe8be324f8ee73c8e37a:/testsuite/surf/maxmin_bench.c diff --git a/testsuite/surf/maxmin_bench.c b/testsuite/surf/maxmin_bench.c index c54f374801..4d0f905701 100644 --- a/testsuite/surf/maxmin_bench.c +++ b/testsuite/surf/maxmin_bench.c @@ -1,8 +1,7 @@ -/* $Id$ */ - /* A crash few tests for the maxmin library */ -/* Copyright (c) 2004 Arnaud Legrand. All rights reserved. */ +/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. The SimGrid Team. + * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -15,8 +14,9 @@ #include #include #include "surf/maxmin.h" +#include "xbt/module.h" #include "xbt/xbt_os_time.h" -#include "xbt/sysdep.h" /* time manipulation for benchmarking */ +#include "xbt/sysdep.h" /* time manipulation for benchmarking */ double date; @@ -36,12 +36,12 @@ void test(int nb_cnst, int nb_var, int nb_elem); void test(int nb_cnst, int nb_var, int nb_elem) { lmm_system_t Sys = NULL; - lmm_constraint_t *cnst = calloc(nb_cnst, sizeof(lmm_constraint_t)); - lmm_variable_t *var = calloc(nb_var, sizeof(lmm_variable_t)); - int *used = calloc(nb_cnst, sizeof(int)); + lmm_constraint_t *cnst = xbt_new0(lmm_constraint_t, nb_cnst); + lmm_variable_t *var = xbt_new0(lmm_variable_t, nb_var); + int *used = xbt_new0(int, nb_cnst); int i, j, k; - Sys = lmm_system_new(); + Sys = lmm_system_new(1); for (i = 0; i < nb_cnst; i++) { cnst[i] = lmm_constraint_new(Sys, NULL, float_random(10.0)); @@ -54,8 +54,8 @@ void test(int nb_cnst, int nb_var, int nb_elem) for (j = 0; j < nb_elem; j++) { k = int_random(nb_cnst); if (used[k]) { - j--; - continue; + j--; + continue; } lmm_expand(Sys, cnst[k], var[i], float_random(1.0)); used[k] = 1; @@ -67,6 +67,8 @@ void test(int nb_cnst, int nb_var, int nb_elem) lmm_solve(Sys); date = xbt_os_time() * 1000000 - date; + for (i = 0; i < nb_var; i++) + lmm_variable_free(Sys, var[i]); lmm_system_free(Sys); free(cnst); free(var); @@ -80,13 +82,14 @@ void test(int nb_cnst, int nb_var, int nb_elem) int main(int argc, char **argv) { - int nb_cnst = 20000; - int nb_var = 20000; + int nb_cnst = 2000; + int nb_var = 2000; int nb_elem = 80; + xbt_init(&argc, argv); date = xbt_os_time() * 1000000; test(nb_cnst, nb_var, nb_elem); printf("One shot execution time for a total of %d constraints, " - "%d variables with %d active constraint each : %g microsecondes \n", - nb_cnst, nb_var, nb_elem, date); + "%d variables with %d active constraint each : %g microsecondes \n", + nb_cnst, nb_var, nb_elem, date); return 0; }