X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ab8524c54b51ab58c017d27604f94b3e84705e04..8e8f8b64b899284cbd166542ba352cd0c44059e8:/teshsuite/simdag/platforms/Evaluate_get_route_time.c diff --git a/teshsuite/simdag/platforms/Evaluate_get_route_time.c b/teshsuite/simdag/platforms/Evaluate_get_route_time.c index a307d79638..7fa2e1cd09 100644 --- a/teshsuite/simdag/platforms/Evaluate_get_route_time.c +++ b/teshsuite/simdag/platforms/Evaluate_get_route_time.c @@ -1,93 +1,57 @@ -/* Copyright (c) 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2008, 2009, 2010, 2011. 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. */ -//for i in $(seq 1 100); do teshsuite/simdag/platforms/evaluate_get_route_time ../examples/platforms/One_cluster.xml 1 2> /tmp/null ; done +//for i in $(seq 1 100); do teshsuite/simdag/platforms/evaluate_get_route_time ../examples/platforms/cluster.xml 1 2> /tmp/null ; done #include #include #include "simdag/simdag.h" #include "surf/surf_private.h" -#include +#include "xbt/xbt_os_time.h" #define BILLION 1000000000L; -extern routing_global_t global_routing; +extern routing_platf_t routing_platf; int main(int argc, char **argv) { - SD_workstation_t w1, w2; - const SD_workstation_t *workstations; - int i, j; - int list_size; - struct timespec start, stop; - double accum; - - /* initialisation of SD */ - SD_init(&argc, argv); - - /* creation of the environment */ - SD_create_environment(argv[1]); - - workstations = SD_workstation_get_list(); - list_size = SD_workstation_get_number(); - - unsigned int seed; - struct timespec time; - //clock_gettime( CLOCK_REALTIME, &time); -#if _POSIX_TIMERS > 0 - clock_gettime(CLOCK_REALTIME, &time); -#else - struct timeval tv; - gettimeofday(&tv, NULL); - time.tv_sec = tv.tv_sec; - time.tv_nsec = tv.tv_usec*1000; -#endif - seed = time.tv_nsec; - - srand(seed); - - do{ - i = rand()%list_size; - j = rand()%list_size; - }while(i==j); - - w1 = workstations[i]; - w2 = workstations[j]; - printf("%d\tand\t%d\t\t",i,j); - -#if _POSIX_TIMERS > 0 - if( clock_gettime( CLOCK_REALTIME, &start) == -1 ) { - perror( "clock gettime" ); - return EXIT_FAILURE; - } -#else - gettimeofday(&tv, NULL); - start.tv_sec = tv.tv_sec; - start.tv_nsec = tv.tv_usec*1000; -#endif - - SD_route_get_list(w1, w2); - -#if _POSIX_TIMERS > 0 - if( clock_gettime( CLOCK_REALTIME, &stop) == -1 ) { - perror( "clock gettime" ); - return EXIT_FAILURE; - } -#else - gettimeofday(&tv, NULL); - stop.tv_sec = tv.tv_sec; - stop.tv_nsec = tv.tv_usec*1000; -#endif - - accum = ( stop.tv_sec - start.tv_sec ) - + (double)( stop.tv_nsec - start.tv_nsec ) - / (double)BILLION; - printf("%lf\n", accum); - - SD_exit(); - - return 0; + SD_workstation_t w1, w2; + const SD_workstation_t *workstations; + int i, j; + int list_size; + xbt_os_timer_t timer = xbt_os_timer_new(); + + /* initialisation of SD */ + SD_init(&argc, argv); + + /* creation of the environment */ + SD_create_environment(argv[1]); + + workstations = SD_workstation_get_list(); + list_size = SD_workstation_get_number(); + + /* Random number initialization */ + srand( (int) (xbt_os_time()*1000) ); + + do{ + i = rand()%list_size; + j = rand()%list_size; + }while(i==j); + + w1 = workstations[i]; + w2 = workstations[j]; + printf("%d\tand\t%d\t\t",i,j); + + xbt_os_timer_start(timer); + SD_route_get_list(w1, w2); + xbt_os_timer_stop(timer); + + printf("%lf\n", xbt_os_timer_elapsed(timer) ); + + SD_exit(); + + return 0; }