Version: 2.1.1 (using KDE 4.4.1) OS: Linux Installed from: Ubuntu Packages When clicking Calculate Schedule in KPlato, the calculation can take an unreasonable amount of time, for a relatively small project of some 30 tasks and 20 dependencies, the calculation can take 10minutes+. I've done some profiling of the calculation and found one big culprit, AppointmentIntervalList, which is QMap<QString, AppointmentInterval>. The QString generation and comparsion seems to take of the major part of the process-time. I'm proposing applying the attached patch, which for my test-case lowers the calculation-time significantly.
Created an attachment (id=42356) [details] Proposed patch for performance-improvement Drastically improves schedule-calculation-time.
An example, on my powerful machine, with the Lucid-lynx package a certain project takes 4 minutes 45 seconds to schedule. With this patch, but KOffice built with plain "cmake .", and no further release-optimisation, the calculation is reduced to 30 seconds.
Great! I'll check it out asap.
SVN commit 1109143 by danders: Improve scheuling performance. Patch by Ulrik Mikaelsson <ulrik.mikaelsson@gmail.com> Fixed unit tests and bug in operator<() BUG:232613 M +14 -3 kptappointment.cpp M +3 -4 kptappointment.h M +11 -11 tests/AppointmentIntervalTester.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1109143
You need to log in before you can comment on or make changes to this bug.