From 3d847588c47457327c6e72b0a31477859f29ab00 Mon Sep 17 00:00:00 2001 From: Markus Rosenstihl Date: Sun, 12 Jul 2026 21:07:41 +0200 Subject: [PATCH] debug timing added for performance test --- src/damaris/gui/DamarisGUI.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/damaris/gui/DamarisGUI.py b/src/damaris/gui/DamarisGUI.py index 7fa2a70..7a9fbb1 100644 --- a/src/damaris/gui/DamarisGUI.py +++ b/src/damaris/gui/DamarisGUI.py @@ -589,8 +589,10 @@ class DamarisGUI: self.toolbar_pause_button.set_active( False ) # delete old data + data_cleanup_start = time.time() self.data = None self.monitor.observe_data_pool( self.data ) + print(f"DEBUG: Data cleanup took {time.time() - data_cleanup_start:.3f}s") # set the text mark for hdf logging if self.log.textbuffer.get_mark( "lastdumped" ) is None: @@ -3046,21 +3048,29 @@ class MonitorWidgets: register a listener and save reference to data assume to be in gtk/gdk lock """ + import time + cleanup_start = time.time() gdk.threads_enter( ) try: if self.data_pool is not None: # maybe some extra cleanup needed print("ToDo: cleanup widgets") + widget_cleanup_start = time.time() if self.displayed_data[ 1 ] is not None and hasattr( self.displayed_data[ 1 ], "unregister_listener" ): self.displayed_data[ 1 ].unregister_listener( self.datastructures_listener ) self.displayed_data[ 1 ] = None self.displayed_data = [ None, None ] + print(f"DEBUG: Widget cleanup took {time.time() - widget_cleanup_start:.3f}s") + + listener_cleanup_start = time.time() self.data_pool.unregister_listener( self.datapool_listener ) self.data_pool = None + print(f"DEBUG: Listener cleanup took {time.time() - listener_cleanup_start:.3f}s") self.update_counter_lock.acquire( ) self.update_counter = 0 self.update_counter_lock.release( ) + print(f"DEBUG: Total data pool cleanup took {time.time() - cleanup_start:.3f}s") # display states self.source_list_reset( )