On 06/24/2013 10:33 AM, Petr Viktorin wrote:
On 06/17/2013 09:10 PM, Dmitri Pal wrote:
On 06/17/2013 11:08 AM, Petr Viktorin wrote:
ipa-run-tests --with-beakerlib is horribly slow for me, is that
expected?

Yes. For every logged line, BeakerLib's default logging backend starts
up Python, parses a XML file, appends the line, and writes the XML out
again. So especially with longer runs it's really slow.

Is there any way to solve this problem?
For example send the output over the DBUS to a special service that
would have the python already loaded and would do the appending to the
files and writing the output.
Also there can be an optimization that it would not save the file up
until the change affects a different file.

The logic would be:

loop:
    If do not have an open output file open one and keep it in memory
    Read a request for update until receive a special message for
termination or a signal, then break out of the loop
    If the request for update for the same file update the file
    Else save currently open file and start a new one, add data to the
newly started file
end
close currently open file

I hope Beaker does something like you described. The slow part is only the XML
backend, which gets selected if you run BeakerLib without Beaker.
We could write (or find?) a faster logging backend but it's not really
necessary. Without Beaker the BeakerLib logging is not of much use anyway.


Right. In our upstream continuous integration testing, this option should be off -> no logging performance issues for us.

Martin

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to