{"push_id":574628567,"size":1,"distinct_size":1,"ref":"refs/heads/semanticdata-cache","head":"53dcb823e8c1b6a6bbb74f775cecd369c26f313e","before":"8e3a794f10956c58945608852b7d2d9b2473b846","commits":[{"sha":"53dcb823e8c1b6a6bbb74f775cecd369c26f313e","author":{"email":"1603ec7c116c453bf68b5bedc0df05ad1ecd3d98@gmail.com","name":"mwjames"},"message":"Introduce SemanticDataCache\n\nParsing pages is an expensive endeavour and therefore liable to the amount\nof time spent on each page during an update (re-parse).\n\nUsing the `SemanticDataCache` can reduce the burden and processing times significantly\nby making a decision on whether a page needs a \"real\" update\n(revId to identify the content status) or it is merely enough to re-fetch\nthe data from cache and provide the input.\n\nThe premis is that if the revision hasn't changed then the SemanticData\nhaven't changed either hence the data from cache can be used.\n\n- If `rebuildData.php` is run with option `--no-cache` then no `SemanticDataCache` is used.\n- In case the de-serialization returns with an error a re-parse of page is automatically triggered during the `UpdateJob` run.\n- Currently `smwgCacheType` is used to indentify the cache type for building the `CompositeCache` for the `SemanticDataCache` object.\n\nSample using `rebuildData.php -s 1 -e 40 --runtime`:\n- without-cache: Memory used: 24309648 (b: 8997048, a: 33306696) with a runtime of 82.89 sec (1.38 min)\n- with-cache: Memory used: 14102776 (b: 8997048, a: 23099824) with a runtime of 36.71 sec","distinct":true,"url":"https://api.github.com/repos/SemanticMediaWiki/SemanticMediaWiki/commits/53dcb823e8c1b6a6bbb74f775cecd369c26f313e"}]}