Hi everybody, finally I have a working solution, which doesn't instantly show bugs on Linux with KDE4 (feature/new-vcl-scheduler).
This fixes my mail merge performance problem since the 5.0 merge of idle job handling. It completely drops the idea of separated idle and timer handling and drops a lot of special handling and workarounds for problems in the original code, but keeps the Idle class for convenience. I tried to list all the revert commit ids and started to test the original bugs. Everything is just scheduled by priority and Idles now get a very low one per default, while they previously had the same one, then timers. Additionally it drops the 1ms lag for tasks, which actually adds up, as idle tasks weren't instantly scheduled. I already fixed the two most obvious busy loop bugs in Writer with workarounds for the general idle job handler and the statistics collector. Instead of polling for work I would like to switch these to be enabled on demand, but that'll definitely take more work. Currently they are converted to timers, which check for work every few seconds, then should switch to idle - ok 0ms timeouts, until all work is processed. I tried to simplify the priority groups to make it easier to select the correct one. There are still some suspicios HIGHEST ones. I had to guess the new dependencies from the original priority of the idles, but I'm quite sure there is some missing stuff. I would like to get some kind of annotations to be able to build a priority tree of all of them for a better overview. It would be great to get feedback from people of all other platforms / VCL backends. Thanks for your comments and feedback Jan-Marek P.S. it adds a VCL python GDB script, which can be used to dump the list of currently scheduled tasks. P.P.S. naming is sill a mess. Sometimes it's task, sometimes event. The scheduler class is actually the base class for the timers and idles and should be renamed Event or Task. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice