Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanups in teshsuite/simdag/platforms, don't ask why
[simgrid.git] / teshsuite / simdag / platforms / Evaluate_get_route_time.c
index a307d79..c9ef64b 100644 (file)
@@ -1,93 +1,51 @@
-/* Copyright (c) 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2008-2015. 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 "simgrid/simdag.h"
+#include "surf/surf.h"
+#include "xbt/xbt_os_time.h"
 
 #define BILLION  1000000000L;
-extern routing_global_t global_routing;
 
 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;
+  int i, j;
+  xbt_os_timer_t timer = xbt_os_timer_new();
 
-       /* initialisation of SD */
-       SD_init(&argc, argv);
+  SD_init(&argc, argv);
+  SD_create_environment(argv[1]);
 
-       /* creation of the environment */
-       SD_create_environment(argv[1]);
+  sg_host_t *workstations = sg_host_list();
+  int list_size = sg_host_count();
 
-       workstations = SD_workstation_get_list();
-       list_size = SD_workstation_get_number();
+  /* Random number initialization */
+  srand( (int) (xbt_os_time()*1000) );
 
-       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;
+  do {
+    i = rand()%list_size;
+    j = rand()%list_size;
+  } while(i==j);
 
-       srand(seed);
+  sg_host_t w1 = workstations[i];
+  sg_host_t w2 = workstations[j];
+  printf("%d\tand\t%d\t\t",i,j);
 
-       do{
-               i = rand()%list_size;
-               j = rand()%list_size;
-       }while(i==j);
+  xbt_os_cputimer_start(timer);
+  SD_route_get_list(w1, w2);
+  xbt_os_cputimer_stop(timer);
 
-       w1 = workstations[i];
-       w2 = workstations[j];
-       printf("%d\tand\t%d\t\t",i,j);
+  printf("%f\n", xbt_os_timer_elapsed(timer) );
 
-#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
+  xbt_free(workstations);
+  SD_exit();
 
-       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;
+  return 0;
 }