{"action":"created","issue":{"url":"https://api.github.com/repos/reark/reark/issues/130","repository_url":"https://api.github.com/repos/reark/reark","labels_url":"https://api.github.com/repos/reark/reark/issues/130/labels{/name}","comments_url":"https://api.github.com/repos/reark/reark/issues/130/comments","events_url":"https://api.github.com/repos/reark/reark/issues/130/events","html_url":"https://github.com/reark/reark/pull/130","id":158459465,"number":130,"title":"Parallel data merges in data stores","user":{"login":"apoi","id":1183233,"avatar_url":"https://avatars.githubusercontent.com/u/1183233?v=3","gravatar_id":"","url":"https://api.github.com/users/apoi","html_url":"https://github.com/apoi","followers_url":"https://api.github.com/users/apoi/followers","following_url":"https://api.github.com/users/apoi/following{/other_user}","gists_url":"https://api.github.com/users/apoi/gists{/gist_id}","starred_url":"https://api.github.com/users/apoi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apoi/subscriptions","organizations_url":"https://api.github.com/users/apoi/orgs","repos_url":"https://api.github.com/users/apoi/repos","events_url":"https://api.github.com/users/apoi/events{/privacy}","received_events_url":"https://api.github.com/users/apoi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"jaggernod","id":2519463,"avatar_url":"https://avatars.githubusercontent.com/u/2519463?v=3","gravatar_id":"","url":"https://api.github.com/users/jaggernod","html_url":"https://github.com/jaggernod","followers_url":"https://api.github.com/users/jaggernod/followers","following_url":"https://api.github.com/users/jaggernod/following{/other_user}","gists_url":"https://api.github.com/users/jaggernod/gists{/gist_id}","starred_url":"https://api.github.com/users/jaggernod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaggernod/subscriptions","organizations_url":"https://api.github.com/users/jaggernod/orgs","repos_url":"https://api.github.com/users/jaggernod/repos","events_url":"https://api.github.com/users/jaggernod/events{/privacy}","received_events_url":"https://api.github.com/users/jaggernod/received_events","type":"User","site_admin":false},"assignees":[{"login":"jaggernod","id":2519463,"avatar_url":"https://avatars.githubusercontent.com/u/2519463?v=3","gravatar_id":"","url":"https://api.github.com/users/jaggernod","html_url":"https://github.com/jaggernod","followers_url":"https://api.github.com/users/jaggernod/followers","following_url":"https://api.github.com/users/jaggernod/following{/other_user}","gists_url":"https://api.github.com/users/jaggernod/gists{/gist_id}","starred_url":"https://api.github.com/users/jaggernod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaggernod/subscriptions","organizations_url":"https://api.github.com/users/jaggernod/orgs","repos_url":"https://api.github.com/users/jaggernod/repos","events_url":"https://api.github.com/users/jaggernod/events{/privacy}","received_events_url":"https://api.github.com/users/jaggernod/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-06-03T21:36:28Z","updated_at":"2016-06-25T20:03:11Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/reark/reark/pulls/130","html_url":"https://github.com/reark/reark/pull/130","diff_url":"https://github.com/reark/reark/pull/130.diff","patch_url":"https://github.com/reark/reark/pull/130.patch"},"body":"Stores were handling possible data races by executing only one put operation at a time. This causes insertions of larger data batches to take longer than really necessary.\r\n\r\nHere we change the logic to support parallel insertions. Data races are handled by synchronizing the critical section per unique Uri, ensuring that two operations on one Uri can not enter the section simultaneously.\r\n\r\nImproved use case: 1000 data update attempts go through read-compare-merge, but none of them changes data so zero database updates/insertions. Update execution time dropped by about 66% with this change in place, from 5.9s to 1.9s in my test phone.\r\n\r\nI will later create an additional optimization for the case where we actually update the content."},"comment":{"url":"https://api.github.com/repos/reark/reark/issues/comments/228567959","html_url":"https://github.com/reark/reark/pull/130#issuecomment-228567959","issue_url":"https://api.github.com/repos/reark/reark/issues/130","id":228567959,"user":{"login":"apoi","id":1183233,"avatar_url":"https://avatars.githubusercontent.com/u/1183233?v=3","gravatar_id":"","url":"https://api.github.com/users/apoi","html_url":"https://github.com/apoi","followers_url":"https://api.github.com/users/apoi/followers","following_url":"https://api.github.com/users/apoi/following{/other_user}","gists_url":"https://api.github.com/users/apoi/gists{/gist_id}","starred_url":"https://api.github.com/users/apoi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apoi/subscriptions","organizations_url":"https://api.github.com/users/apoi/orgs","repos_url":"https://api.github.com/users/apoi/repos","events_url":"https://api.github.com/users/apoi/events{/privacy}","received_events_url":"https://api.github.com/users/apoi/received_events","type":"User","site_admin":false},"created_at":"2016-06-25T20:03:11Z","updated_at":"2016-06-25T20:03:11Z","body":"I think this could be closed in favor of #134"}}
{"actor":{"display_login":"apoi"}}