X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b3a6228d1e65a6f7eea5b97ae0fa2668af06d59d..4bb60fefa54ed1665d3452e2a748d26904b46f37:/testsuite/surf/maxmin_bench.c diff --git a/testsuite/surf/maxmin_bench.c b/testsuite/surf/maxmin_bench.c index 6c0e34c1fd..0d46aa5a81 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. */ @@ -12,11 +11,13 @@ #endif -#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 */ + +#include +#include double date; @@ -36,12 +37,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 = 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); + 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 +55,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 +68,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); @@ -83,10 +86,11 @@ int main(int argc, char **argv) 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; }