+
+ int errors = 0;
+
+ xbt_os_timer_t global_timer = xbt_os_timer_new();
+ xbt_os_timer_t timer = xbt_os_timer_new();
+
+ xbt_os_timer_start(global_timer);
+
+ #ifdef MC_DEBUG
+ xbt_os_timer_start(timer);
+ #endif
+
+ /* Compare number of processes */
+ if(s1->nb_processes != s2->nb_processes){
+ #ifdef MC_DEBUG
+ xbt_os_timer_stop(timer);
+ mc_comp_times->nb_processes_comparison_time = xbt_os_timer_elapsed(timer);
+ XBT_DEBUG("Different number of processes : %d - %d", s1->nb_processes, s2->nb_processes);
+ errors++;
+ #else
+ #ifdef MC_VERBOSE
+ XBT_VERB("Different number of processes : %d - %d", s1->nb_processes, s2->nb_processes);
+ #endif
+
+ xbt_os_timer_free(timer);
+ xbt_os_timer_stop(global_timer);
+ mc_snapshot_comparison_time = xbt_os_timer_elapsed(global_timer);
+ xbt_os_timer_free(global_timer);
+
+ if(!raw_mem)
+ MC_UNSET_RAW_MEM;
+
+ return 1;
+ #endif
+ }
+
+ /* Compare number of blocks/fragments used in each heap */
+ if(s1->heap_chunks_used != s2->heap_chunks_used){
+ #ifdef MC_DEBUG
+ xbt_os_timer_stop(timer);
+ mc_comp_times->chunks_used_comparison_time = xbt_os_timer_elapsed(timer);
+ XBT_DEBUG("Different number of chunks used in each heap : %zu - %zu", s1->heap_chunks_used, s2->heap_chunks_used);
+ errors++;
+ #else
+ #ifdef MC_VERBOSE
+ XBT_VERB("Different number of chunks used in each heap : %zu - %zu", s1->heap_chunks_used, s2->heap_chunks_used);
+ #endif
+
+ xbt_os_timer_free(timer);
+ xbt_os_timer_stop(global_timer);
+ mc_snapshot_comparison_time = xbt_os_timer_elapsed(global_timer);
+ xbt_os_timer_free(global_timer);