From 4caba889d33e3969d85d057db072075bda358753 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Thu, 5 May 2011 17:02:45 +0200 Subject: [PATCH] Do not make an expensive call to get_route if it is not needed. --- src/surf/network.c | 24 +++++++++++++----------- src/surf/network_gtnets.c | 23 +++++++++++++---------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/surf/network.c b/src/surf/network.c index 7a139323d6..5c61ee9157 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -437,17 +437,19 @@ static void net_update_actions_state(double now, double delta) action->weight); } #ifdef HAVE_TRACING - xbt_dynar_t route = - global_routing->get_route(action->src_name, action->dst_name); - link_CM02_t link; - unsigned int i; - xbt_dynar_foreach(route, i, link) { - TRACE_surf_link_set_utilization(link->lmm_resource.generic_resource.name, - action->generic_action.data, - (surf_action_t) action, - lmm_variable_getvalue - (action->variable), now - delta, - delta); + if (TRACE_is_active()) { + xbt_dynar_t route = global_routing->get_route(action->src_name, + action->dst_name); + link_CM02_t link; + unsigned int i; + xbt_dynar_foreach(route, i, link) { + TRACE_surf_link_set_utilization(link->lmm_resource.generic_resource.name, + action->generic_action.data, + (surf_action_t) action, + lmm_variable_getvalue + (action->variable), now - delta, + delta); + } } #endif if(!lmm_get_number_of_cnst_from_var(network_maxmin_system, action->variable)) { diff --git a/src/surf/network_gtnets.c b/src/surf/network_gtnets.c index fa437136ce..c867d2e212 100644 --- a/src/surf/network_gtnets.c +++ b/src/surf/network_gtnets.c @@ -271,16 +271,19 @@ static void update_actions_state(double now, double delta) trace_sent = action->generic_action.cost; } // tracing resource utilization - xbt_dynar_t route = global_routing->get_route(action->src_name, action->dst_name); - network_link_GTNETS_t link; - unsigned int i; - xbt_dynar_foreach(route, i, link) { - TRACE_surf_link_set_utilization (link->generic_resource.name, - action->generic_action.data, - (surf_action_t) action, - trace_sent/delta, - now-delta, - delta); + if (TRACE_is_active()) { + xbt_dynar_t route = global_routing->get_route(action->src_name, + action->dst_name); + network_link_GTNETS_t link; + unsigned int i; + xbt_dynar_foreach(route, i, link) { + TRACE_surf_link_set_utilization (link->generic_resource.name, + action->generic_action.data, + (surf_action_t) action, + trace_sent/delta, + now-delta, + delta); + } } #endif -- 2.20.1