From e11ca0b5306e3af1665b162e0ae4a364da8899a1 Mon Sep 17 00:00:00 2001 From: Navarrop Date: Tue, 12 Jul 2011 14:18:04 +0200 Subject: [PATCH 1/1] Add some tools to evaluate performances. --- teshsuite/simdag/platforms/CMakeLists.txt | 12 ++- .../platforms/Evaluate_get_route_time.c | 73 +++++++++++++++++++ .../simdag/platforms/Evaluate_parse_time.c | 50 +++++++++++++ 3 files changed, 132 insertions(+), 3 deletions(-) create mode 100644 teshsuite/simdag/platforms/Evaluate_get_route_time.c create mode 100644 teshsuite/simdag/platforms/Evaluate_parse_time.c diff --git a/teshsuite/simdag/platforms/CMakeLists.txt b/teshsuite/simdag/platforms/CMakeLists.txt index 4e960d0dfd..5c1d5d47a0 100644 --- a/teshsuite/simdag/platforms/CMakeLists.txt +++ b/teshsuite/simdag/platforms/CMakeLists.txt @@ -5,13 +5,19 @@ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}") add_executable(basic_parsing_test basic_parsing_test.c) add_executable(is_router_test is_router_test.c) add_executable(flatifier flatifier.c) +add_executable(evaluate_parse_time Evaluate_parse_time.c) +add_executable(evaluate_get_route_time Evaluate_get_route_time.c) ### Add definitions for compile if(NOT WIN32) -target_link_libraries(basic_parsing_test simgrid m pthread ) -target_link_libraries(is_router_test simgrid m pthread ) -target_link_libraries(flatifier simgrid m pthread ) +target_link_libraries(evaluate_get_route_time simgrid m) +target_link_libraries(evaluate_parse_time simgrid m) +target_link_libraries(basic_parsing_test simgrid m) +target_link_libraries(is_router_test simgrid m) +target_link_libraries(flatifier simgrid m) else(NOT WIN32) +target_link_libraries(evaluate_get_route_time simgrid) +target_link_libraries(evaluate_parse_time simgrid) target_link_libraries(basic_parsing_test simgrid) target_link_libraries(is_router_test simgrid) target_link_libraries(flatifier simgrid) diff --git a/teshsuite/simdag/platforms/Evaluate_get_route_time.c b/teshsuite/simdag/platforms/Evaluate_get_route_time.c new file mode 100644 index 0000000000..828b4ca1ec --- /dev/null +++ b/teshsuite/simdag/platforms/Evaluate_get_route_time.c @@ -0,0 +1,73 @@ +/* Copyright (c) 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. */ + +//for i in $(seq 1 100); do teshsuite/simdag/platforms/evaluate_get_route_time ../examples/platforms/One_cluster.xml 1 2> /tmp/null ; done + + +#include +#include +#include "simdag/simdag.h" +#include "surf/surf_private.h" +#include + +#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; + + /* 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); + 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( clock_gettime( CLOCK_REALTIME, &start) == -1 ) { + perror( "clock gettime" ); + return EXIT_FAILURE; + } + + SD_route_get_list(w1, w2); + + if( clock_gettime( CLOCK_REALTIME, &stop) == -1 ) { + perror( "clock gettime" ); + return EXIT_FAILURE; + } + + accum = ( stop.tv_sec - start.tv_sec ) + + (double)( stop.tv_nsec - start.tv_nsec ) + / (double)BILLION; + printf("%lf\n", accum); + + SD_exit(); + + return 0; +} diff --git a/teshsuite/simdag/platforms/Evaluate_parse_time.c b/teshsuite/simdag/platforms/Evaluate_parse_time.c new file mode 100644 index 0000000000..11ffd3d9ab --- /dev/null +++ b/teshsuite/simdag/platforms/Evaluate_parse_time.c @@ -0,0 +1,50 @@ +/* Copyright (c) 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. */ + +//teshsuite/simdag/platforms/evaluate_parse_time ../examples/platforms/nancy.xml + +#include +#include +#include "simdag/simdag.h" +#include "surf/surf_private.h" +#include + +#define BILLION 1000000000L; +extern routing_global_t global_routing; + +int main(int argc, char **argv) +{ + struct timespec start, stop; + double accum; + + /* initialisation of SD */ + SD_init(&argc, argv); + + if( clock_gettime( CLOCK_REALTIME, &start) == -1 ) { + perror( "clock gettime" ); + return EXIT_FAILURE; + } + + /* creation of the environment */ + SD_create_environment(argv[1]); + + if( clock_gettime( CLOCK_REALTIME, &stop) == -1 ) { + perror( "clock gettime" ); + return EXIT_FAILURE; + } + + accum = ( stop.tv_sec - start.tv_sec ) + + (double)( stop.tv_nsec - start.tv_nsec ) + / (double)BILLION; + + printf( "%lf\n", accum ); + + sleep(20); + + SD_exit(); + + return 0; +} -- 2.20.1