-/* Copyright (c) 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2008-2014. 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 <stdio.h>
#include <stdlib.h>
#include "simdag/simdag.h"
#include "surf/surf_private.h"
-#include <time.h>
+#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_cputimer_start(timer);
+ SD_route_get_list(w1, w2);
+ xbt_os_cputimer_stop(timer);
+
+ printf("%f\n", xbt_os_timer_elapsed(timer) );
+
+ SD_exit();
+
+ return 0;
}