X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fd472f70823a1157acdca204f02accd97918dccc..6604679679d6c5e526e7b3405a32e28b34bf4fa2:/testsuite/surf/maxmin_bench.c diff --git a/testsuite/surf/maxmin_bench.c b/testsuite/surf/maxmin_bench.c index ca70060936..6c0e34c1fd 100644 --- a/testsuite/surf/maxmin_bench.c +++ b/testsuite/surf/maxmin_bench.c @@ -1,30 +1,27 @@ +/* $Id$ */ + /* A crash few tests for the maxmin library */ -/* Authors: Arnaud Legrand */ +/* Copyright (c) 2004 Arnaud Legrand. 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. */ + * under the terms of the license (GNU LGPL) which comes with this package. */ + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + #include #include #include "surf/maxmin.h" -#include +#include "xbt/xbt_os_time.h" +#include "xbt/sysdep.h" /* time manipulation for benchmarking */ -long date; +double date; -/* Pour le bench */ -long us_time(void); -long us_time(void) -{ - struct timeval start; - gettimeofday(&start, NULL); - - return (start.tv_sec * 1000000 + start.tv_usec); -} - - -xbt_maxmin_float_t float_random(xbt_maxmin_float_t max); -xbt_maxmin_float_t float_random(xbt_maxmin_float_t max) +double float_random(double max); +double float_random(double max) { return ((max * rand()) / (RAND_MAX + 1.0)); } @@ -39,9 +36,9 @@ 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(); @@ -65,9 +62,10 @@ void test(int nb_cnst, int nb_var, int nb_elem) } } - date = us_time(); + printf("Starting to solve\n"); + date = xbt_os_time() * 1000000; lmm_solve(Sys); - date = us_time() - date; + date = xbt_os_time() * 1000000 - date; lmm_system_free(Sys); free(cnst); @@ -75,16 +73,20 @@ void test(int nb_cnst, int nb_var, int nb_elem) free(used); } +#ifdef __BORLANDC__ +#pragma argsused +#endif + int main(int argc, char **argv) { int nb_cnst = 2000; int nb_var = 2000; - int nb_elem = 20; - date = us_time(); + int nb_elem = 80; + 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 : %ld microsecondes \n", + "%d variables with %d active constraint each : %g microsecondes \n", nb_cnst, nb_var, nb_elem, date); return 0; }