This week I looked at one of the performance issue that affects each and every SMW installation on every page write. Yes, every time a user edits a page and saves it back a lot is done unnecessarily.
Every time SMW goes through all of the text, deletes all the data it had for that page and rewrites the DB with the new data you entered; but what if you only fixed a small typo you had just made? or added new text that has no semantic data associated?? SMW should wisely update your DB instead of blindly doing it tasks. So now we have a hash based approach where we verify if something is new by comparing it with the old stuff’s hash and only update the DB when some Semantic Data changed. This results in very few queries on a page edit. Currently I am working on  a branch of SMW and this change is visible at https://gerrit.wikimedia.org/r/#/c/10706/
When all this stuff is merged with the master branch of SMW and released you can upgrade it and say Yay! 😉

Advertisements