https://bugs.freedesktop.org/show_bug.cgi?id=60851
--- Comment #6 from Patrick Ohly <[email protected]> --- Collabora enhanced performance in recent folks. While re-doing benchmarks I noticed that the worst-case performance for 1000 contacts isn't as bad as I remember it. However, I have not done an exact comparison. The patch in https://bugzilla.gnome.org/show_bug.cgi?id=694385 is still relevant, though. Here's a comparison with TEST_DBUS_QUIET=1 TESTPIM_TEST_ACTIVE_NUM=2000 TESTPIM_TEST_ACTIVE_RESPONSE=-1 and filling the address books one-by-one while folks processes the changes. I used an updated testpim.py which prints all samples instead of checking them. TESTPIM_TEST_ACTIVE_RESPONSE=-1 enables that mode. stats (https://github.com/rustyrussell/stats) is used to calculate min-max(avg) for each phase. Full files will be attached. Without patch: $ stats folks-master-unpatched-2000.log testActive (__main__.TestContacts) TestContacts.testActive - reconfigure active address books several times ... Pinging server at intervals of 0.200000s. full view: ping duration: 0.012624-137.164563(45.7348+/-65) contact data: ping duration: 0.005966-0.030444(0.0161076+/-0.0069) ['', 'a', 'b', 'c'] -> []: ping duration: 0.008605-0.763513(0.386059+/-0.38) [] -> ['c']: ping duration: 0.008072-1.226016(0.149534+/-0.38) ['c'] -> ['b']: ping duration: 0.004165-0.836381(0.106718+/-0.26) ['b'] -> ['b', 'c']: ping duration: 0.005579-1.218825(0.145583+/-0.38) ['b', 'c'] -> ['a']: ping duration: 0.008640-1.261694(0.158903+/-0.36) ['a'] -> ['a', 'c']: ping duration: 0.005384-1.210349(0.143487+/-0.38) ['a', 'c'] -> ['a', 'b']: ping duration: 0.004604-0.328148(0.0475674+/-0.099) ['a', 'b'] -> ['a', 'b', 'c']: ping duration: 0.006383-1.224438(0.150367+/-0.38) ['a', 'b', 'c'] -> ['']: ping duration: 0.011664-1.227834(0.198583+/-0.38) [''] -> ['', 'c']: ping duration: 0.005088-1.201952(0.143017+/-0.37) ['', 'c'] -> ['', 'b']: ping duration: 0.004293-0.313067(0.045124+/-0.095) ['', 'b'] -> ['', 'b', 'c']: ping duration: 0.011554-1.373705(0.27695+/-0.52) ['', 'b', 'c'] -> ['', 'a']: ping duration: 0.004793-1.213316(0.158278+/-0.35) ['', 'a'] -> ['', 'a', 'c']: ping duration: 0.005222-1.234311(0.149249+/-0.38) ['', 'a', 'c'] -> ['', 'a', 'b']: ping duration: 0.004743-0.122250(0.0208045+/-0.034) ['', 'a', 'b'] -> ['', 'a', 'b', 'c']: ping duration: 0.005526-1.225899(0.146111+/-0.38) ok ---------------------------------------------------------------------- Ran 1 test in 905.721s OK Note the 137s maximum response time during populating the data ("full view"). With patch: $ stats folks-master-patched-2000.log testActive (__main__.TestContacts) TestContacts.testActive - reconfigure active address books several times ... Pinging server at intervals of 0.200000s. full view: ping duration: 0.004023-0.103919(0.0433612+/-0.025) contact data: ping duration: 0.005415-0.037208(0.0193849+/-0.0088) ['', 'a', 'b', 'c'] -> []: ping duration: 0.011281-0.751190(0.381236+/-0.37) [] -> ['c']: ping duration: 0.004249-0.028754(0.0124643+/-0.0061) ['c'] -> ['b']: ping duration: 0.003715-0.207745(0.0281574+/-0.046) ['b'] -> ['b', 'c']: ping duration: 0.006746-0.032266(0.0171924+/-0.0075) ['b', 'c'] -> ['a']: ping duration: 0.005372-0.378336(0.0332488+/-0.076) ['a'] -> ['a', 'c']: ping duration: 0.003991-0.034730(0.0185342+/-0.0083) ['a', 'c'] -> ['a', 'b']: ping duration: 0.004354-0.205181(0.0245261+/-0.04) ['a', 'b'] -> ['a', 'b', 'c']: ping duration: 0.004429-0.053523(0.0222038+/-0.013) ['a', 'b', 'c'] -> ['']: ping duration: 0.007220-0.567568(0.0461981+/-0.13) [''] -> ['', 'c']: ping duration: 0.004500-0.031244(0.0149976+/-0.0077) ['', 'c'] -> ['', 'b']: ping duration: 0.005897-0.218556(0.0247215+/-0.043) ['', 'b'] -> ['', 'b', 'c']: ping duration: 0.004165-0.045688(0.0226147+/-0.011) ['', 'b', 'c'] -> ['', 'a']: ping duration: 0.004427-0.572938(0.0389641+/-0.1) ['', 'a'] -> ['', 'a', 'c']: ping duration: 0.004139-0.041826(0.021645+/-0.011) ['', 'a', 'c'] -> ['', 'a', 'b']: ping duration: 0.007139-0.221841(0.0326704+/-0.039) ['', 'a', 'b'] -> ['', 'a', 'b', 'c']: ping duration: 0.004101-0.060816(0.0274812+/-0.017) ok ---------------------------------------------------------------------- Ran 1 test in 946.532s OK The maximum response time during loading gets reduced to 0.1s. On the downside, total runtime increases by 4%. When running the test so that all data is already in EDS when folks starts, then the "full view" max response time is 2.3s without patch and 0.2s with. Total runtime goes up from 797s to 848s (6%) - this cannot be compared directly with the other setup, because loading no longer overlaps with generating the data. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ Syncevolution-issues mailing list [email protected] http://lists.syncevolution.org/listinfo/syncevolution-issues
