I made a simple benchmark if this bug is still critical now (rev 1181).
Scenario:
Start GTG, delete 50 random tasks and close GTG
You can automate it by adding following code at the end of __init__() method in GTG/gtk/browser/browser.py:
<code> gobject.idle_add(self.test_case)
def test_case(self):
for tid in self.activetree.get_all_nodes()[:50]:
if self.req.has_task(tid): self.req.delete_task(tid,recursive=True) gtk.main_iteration() gobject.idle_add(gtk.main_quit)
</code>
Current time to complete the test case: 23 seconds
Time to complete the test case without savexml at all: 12 seconds (I need 10 seconds to start my tasks)
Deleting 50 tasks results in 73 times savexml. As you know, the work with a disk is very slow.
I made a simple benchmark if this bug is still critical now (rev 1181).
Scenario:
Start GTG, delete 50 random tasks and close GTG
You can automate it by adding following code at the end of __init__() method in GTG/gtk/ browser/ browser. py:
gobject. idle_add( self.test_ case)
<code>
def test_case(self): .get_all_ nodes() [:50]: has_task( tid):
self. req.delete_ task(tid, recursive= True)
gtk.main_ iteration( )
gobject. idle_add( gtk.main_ quit)
for tid in self.activetree
if self.req.
</code>
Current time to complete the test case: 23 seconds
Time to complete the test case without savexml at all: 12 seconds (I need 10 seconds to start my tasks)
Deleting 50 tasks results in 73 times savexml. As you know, the work with a disk is very slow.
This bug is still critical.