[Tracker] Performance testing of various update improvements of this week
- From: Philip Van Hoof <philip codeminded be>
- To: tracker-list gnome org
- Subject: [Tracker] Performance testing of various update improvements of this week
- Date: Tue, 22 Mar 2011 16:58:34 +0100
Hi there,
Various update performance improvements took place last few days and
weeks. Today JÃrg did a significant performance improvement that affects
SPARQL Update's DELETE. I earlier this week implemented support for OR
REPLACE. We made a test-insert-or-replace.vala which mimics the typical
query for synchronizing an existing contact (that's nco:Contact in the
Nepomukian philosophy and language).
In all tests were the same 1000 contacts preloaded. This means that the
command was run a first time and these first results are discarded each
time.
In practice this means that the test has to overwrite 1000 contacts.
This is important because the first run are none of the deletes deleting
any actual data. The second run they delete practically all existing
data from the exact same contacts.
So we simulate a situation where you can't make a diff of the changes.
This is the least ideal situation, so we test on that situation.
In between each test a tracker-control -r was performed, then preload of
1000 contacts, then run for measuring the time.
Sequence of commands for a typical test run:
$ tracker-control -r
$ ./test-insert-or-replace original 1000 # discard results
$ ./test-insert-or-replace original 1000 # use results
$ tracker-control -r
$ ./test-insert-or-replace replace 1000 # discard results
$ ./test-insert-or-replace replace 1000 # use results
Relevant build environment settings:
o. Relevant compiler CFLAGS were in all cases -O0 -ggdb and
for ./configure I added --disable-tracker-fts
o. SQLite 3.7.3 (-O0 flags, /opt/sqlite installation)
o. GLib 2.27.2 (-O0 flags, /opt/glib installation)
o. No particular reason for -O0, but all test runs got the same flags
o. Test runs of last week with -O2 gave me < 13s for replace without
delete improvement
Machine:
Lenovo x61s, 2 x Intel(R) Core(TM)2 Duo CPU L7500 @ 1.60GHz, ~ 2GB ram
And now the results:
Master without delete improvement:
commit-id: a3d1504d8c3ff35654127bfd037caa1167d9ebec
- ORIGINAL : 1000 contacts: 22.862002
- Master has no REPLACE
Master with delete improvement:
commit-id: 94e8ed7f05da2f4398d82a27519c629b47da21b5
- ORIGINAL : 1000 contacts: 21.733715
- Master has no REPLACE
sparql-update without delete improvement:
commit-id: 3fa0fce9a0d253e277f45b3edec533d266583347 (rebased)
- ORIGINAL : 1000 contacts: 23.366843
- REPLACE : 1000 contacts: 15.663055
sparql-update with delete improvement (rebase on master):
commit-id: 39e413ceaec1b5b48548d70924afcb262046ca18
- ORIGINAL : 1000 contacts: 19.126042
- REPLACE : 1000 contacts: 13.713545
With optimization for rdf:type (with delete improvement, sparql-update):
commit-id: 832de90bdec34895ba090e567eb1fd44201210ac
- ORIGINAL : 1000 contacts: 18.897218
- REPLACE : 1000 contacts: 13.250663
--
Philip Van Hoof
freelance software developer
Codeminded BVBA - http://codeminded.be
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]