enhancing perfcheck - Proof of concept & proposals

Laurent Godard lgodard.libre at laposte.net
Mon Oct 27 23:51:25 PDT 2014

Hi Matus,

Thanks a lot for your detailled response

I'm actually in holidays with family and will be back next week; I hope 
then to be able to continue this work (but feel free to start it !)

> I've added it to loperf; it's now in
> http://dev-builds.libreoffice.org/callgrind_report/
> So, there is no need for the load test now, I think.

Great, thanks a lot.

> but I think it's a bit different with callgrind - you see everything there.
> And with 100 items, you should be already able to spot quadratic complexity.

Ok then to reduce the 'big file' size and not instrument its loading
I'll do it when back. I'll rebuild a new one

Regarding output results, the approach i took was to first gather all 
the results in the csv file
Then post-processing it in a spreadsheet (say, randomly, calc) and use 
standard filters to isolate the tests

> Instead something like
> commit date <test_name-1>-<dump_comment-1> ... <test_name-n>-<dump_comment-m>
> ----------------------------------------------------
> <commit> <date> <number_1> ... numbers for different tests
> <commit+1> <date> <number_2> ...

will be restricted to 1024 columns (500 tests) but may be enough

> would be better I think - you can just compare
> number_1 and number_2 on the next row in the same column.
> Hopefully this makes sense.

Sure it makes sense :)

> The script would need to be clever enough to add new columns when needed somehow.
> Or, another possibility is to have another script which would generate
> file with the second format mentioned here from the existing csv file.

Yes, i'll have a look a this. Then we could have both formats (in case 
in needed) and this second script could also dump alerts

> this would be set all the time (not needed)
> make perfcheck would just run tests under callgrind, where it makes sense

ok but i still do not catch how the beast would know if callgrind is 
running or not. how would startImplemntation and endImplementation 
behave if callgrind is not running (case of normal tests)

> I am happy to hack this in, or help you with implementation - as you choose.

as said before, i won't be able to work on this until middle of next 
week, sorry

So feel free to enhance this and when joining back, i'll start on the 
evolutions you may have implemented

thanks a lot Matus


More information about the LibreOffice mailing list