{"action":"created","issue":{"url":"https://api.github.com/repos/root-project/root/issues/2143","repository_url":"https://api.github.com/repos/root-project/root","labels_url":"https://api.github.com/repos/root-project/root/issues/2143/labels{/name}","comments_url":"https://api.github.com/repos/root-project/root/issues/2143/comments","events_url":"https://api.github.com/repos/root-project/root/issues/2143/events","html_url":"https://github.com/root-project/root/pull/2143","id":329340265,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkyNjE4NjA4","number":2143,"title":" [TREEPROCMT] Improve concurrency","user":{"login":"bluehood","id":10999034,"node_id":"MDQ6VXNlcjEwOTk5MDM0","avatar_url":"https://avatars3.githubusercontent.com/u/10999034?v=4","gravatar_id":"","url":"https://api.github.com/users/bluehood","html_url":"https://github.com/bluehood","followers_url":"https://api.github.com/users/bluehood/followers","following_url":"https://api.github.com/users/bluehood/following{/other_user}","gists_url":"https://api.github.com/users/bluehood/gists{/gist_id}","starred_url":"https://api.github.com/users/bluehood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluehood/subscriptions","organizations_url":"https://api.github.com/users/bluehood/orgs","repos_url":"https://api.github.com/users/bluehood/repos","events_url":"https://api.github.com/users/bluehood/events{/privacy}","received_events_url":"https://api.github.com/users/bluehood/received_events","type":"User","site_admin":false},"labels":[{"id":651918276,"node_id":"MDU6TGFiZWw2NTE5MTgyNzY=","url":"https://api.github.com/repos/root-project/root/labels/needs%20review","name":"needs review","color":"fef2c0","default":false}],"state":"closed","locked":false,"assignee":{"login":"bluehood","id":10999034,"node_id":"MDQ6VXNlcjEwOTk5MDM0","avatar_url":"https://avatars3.githubusercontent.com/u/10999034?v=4","gravatar_id":"","url":"https://api.github.com/users/bluehood","html_url":"https://github.com/bluehood","followers_url":"https://api.github.com/users/bluehood/followers","following_url":"https://api.github.com/users/bluehood/following{/other_user}","gists_url":"https://api.github.com/users/bluehood/gists{/gist_id}","starred_url":"https://api.github.com/users/bluehood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluehood/subscriptions","organizations_url":"https://api.github.com/users/bluehood/orgs","repos_url":"https://api.github.com/users/bluehood/repos","events_url":"https://api.github.com/users/bluehood/events{/privacy}","received_events_url":"https://api.github.com/users/bluehood/received_events","type":"User","site_admin":false},"assignees":[{"login":"bluehood","id":10999034,"node_id":"MDQ6VXNlcjEwOTk5MDM0","avatar_url":"https://avatars3.githubusercontent.com/u/10999034?v=4","gravatar_id":"","url":"https://api.github.com/users/bluehood","html_url":"https://github.com/bluehood","followers_url":"https://api.github.com/users/bluehood/followers","following_url":"https://api.github.com/users/bluehood/following{/other_user}","gists_url":"https://api.github.com/users/bluehood/gists{/gist_id}","starred_url":"https://api.github.com/users/bluehood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluehood/subscriptions","organizations_url":"https://api.github.com/users/bluehood/orgs","repos_url":"https://api.github.com/users/bluehood/repos","events_url":"https://api.github.com/users/bluehood/events{/privacy}","received_events_url":"https://api.github.com/users/bluehood/received_events","type":"User","site_admin":false}],"milestone":null,"comments":17,"created_at":"2018-06-05T07:53:01Z","updated_at":"2018-06-07T12:02:48Z","closed_at":"2018-06-06T15:07:46Z","author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/root-project/root/pulls/2143","html_url":"https://github.com/root-project/root/pull/2143","diff_url":"https://github.com/root-project/root/pull/2143.diff","patch_url":"https://github.com/root-project/root/pull/2143.patch"},"body":"TTreeProcessorMT now spawns tasks that process clusters from tasks that process files:\r\nthis should decrease the amount of file switches that each thread-local\r\nTChain performs during an event loop, as each thread will tend to\r\nprocess clusters that belong to the same file.\r\n\r\nIn addition, when no friends and no TEntryList are present, we can avoid the preliminary full sweep of\r\ninput files, since we we can use local rather than global entry numbers.\r\nIn this case TTreeProcessorMT spawns one task per input file which first retrieves cluster boundaries\r\nfor that file and then spawns one sub-task per cluster.\r\n\r\nI also added myself to the list of authors.\r\n\r\n@etejedor there are a couple of things I am not super happy with in this implementation:\r\n- each thread-local `TTreeView` duplicates all info about the dataset (file names, friend names, friend file names...)\r\n- `TTreeProcessorMT` has to query all of this information from `TTreeView`\r\n- ~~the per-file task should only call `Internal::MakeClusters` once (just noticed, that's an easy refactoring)~~ fixed and squashed\r\n\r\nMoving the dataset info from `TTreeView` to `TTreeProcessorMT`, on the other hand, would mean adding even more parameters to `TTreeView::GetTreeReader`. What do you think?"},"comment":{"url":"https://api.github.com/repos/root-project/root/issues/comments/395395905","html_url":"https://github.com/root-project/root/pull/2143#issuecomment-395395905","issue_url":"https://api.github.com/repos/root-project/root/issues/2143","id":395395905,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NTM5NTkwNQ==","user":{"login":"phsft-bot","id":25639015,"node_id":"MDQ6VXNlcjI1NjM5MDE1","avatar_url":"https://avatars1.githubusercontent.com/u/25639015?v=4","gravatar_id":"","url":"https://api.github.com/users/phsft-bot","html_url":"https://github.com/phsft-bot","followers_url":"https://api.github.com/users/phsft-bot/followers","following_url":"https://api.github.com/users/phsft-bot/following{/other_user}","gists_url":"https://api.github.com/users/phsft-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/phsft-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phsft-bot/subscriptions","organizations_url":"https://api.github.com/users/phsft-bot/orgs","repos_url":"https://api.github.com/users/phsft-bot/repos","events_url":"https://api.github.com/users/phsft-bot/events{/privacy}","received_events_url":"https://api.github.com/users/phsft-bot/received_events","type":"User","site_admin":false},"created_at":"2018-06-07T12:02:48Z","updated_at":"2018-06-07T12:02:48Z","author_association":"COLLABORATOR","body":"Build failed on slc6-i686/gcc49.\n[See console output](https://epsft-jenkins.cern.ch/job/root-pullrequests-build/29175/console).\n"}}
{"actor":{"display_login":"phsft-bot"}}