{"action":"created","issue":{"url":"https://api.github.com/repos/QuantStack/xtensor/issues/474","repository_url":"https://api.github.com/repos/QuantStack/xtensor","labels_url":"https://api.github.com/repos/QuantStack/xtensor/issues/474/labels{/name}","comments_url":"https://api.github.com/repos/QuantStack/xtensor/issues/474/comments","events_url":"https://api.github.com/repos/QuantStack/xtensor/issues/474/events","html_url":"https://github.com/QuantStack/xtensor/issues/474","id":267271486,"number":474,"title":"ExecutionPolicy tag for reducers and accumulators","user":{"login":"wolfv","id":885054,"avatar_url":"https://avatars0.githubusercontent.com/u/885054?v=4","gravatar_id":"","url":"https://api.github.com/users/wolfv","html_url":"https://github.com/wolfv","followers_url":"https://api.github.com/users/wolfv/followers","following_url":"https://api.github.com/users/wolfv/following{/other_user}","gists_url":"https://api.github.com/users/wolfv/gists{/gist_id}","starred_url":"https://api.github.com/users/wolfv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wolfv/subscriptions","organizations_url":"https://api.github.com/users/wolfv/orgs","repos_url":"https://api.github.com/users/wolfv/repos","events_url":"https://api.github.com/users/wolfv/events{/privacy}","received_events_url":"https://api.github.com/users/wolfv/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-10-20T18:56:26Z","updated_at":"2017-10-22T07:36:31Z","closed_at":null,"author_association":"MEMBER","body":"I propose something akin to the STL's ExecutionPolicies' for xtensor (http://en.cppreference.com/w/cpp/experimental/parallelism). \r\n\r\nWe could add a tag to the reducer and the (planned) accumulator that has 3 options:\r\n\r\n- Lazy\r\n- Greedy (immediate evaluation)\r\n- Cached\r\n\r\nEach with their own performance characteristics. \r\nLazy would be perfect for sparse access. Greedy great for times when you need all of the expression evaluated anyways (and this would also serve as base to overload `assign`). And cached when you access sparse values multiple times. \r\n"},"comment":{"url":"https://api.github.com/repos/QuantStack/xtensor/issues/comments/338458252","html_url":"https://github.com/QuantStack/xtensor/issues/474#issuecomment-338458252","issue_url":"https://api.github.com/repos/QuantStack/xtensor/issues/474","id":338458252,"user":{"login":"wolfv","id":885054,"avatar_url":"https://avatars0.githubusercontent.com/u/885054?v=4","gravatar_id":"","url":"https://api.github.com/users/wolfv","html_url":"https://github.com/wolfv","followers_url":"https://api.github.com/users/wolfv/followers","following_url":"https://api.github.com/users/wolfv/following{/other_user}","gists_url":"https://api.github.com/users/wolfv/gists{/gist_id}","starred_url":"https://api.github.com/users/wolfv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wolfv/subscriptions","organizations_url":"https://api.github.com/users/wolfv/orgs","repos_url":"https://api.github.com/users/wolfv/repos","events_url":"https://api.github.com/users/wolfv/events{/privacy}","received_events_url":"https://api.github.com/users/wolfv/received_events","type":"User","site_admin":false},"created_at":"2017-10-22T07:36:31Z","updated_at":"2017-10-22T07:36:31Z","author_association":"MEMBER","body":"How about `evaluation_strategy`? That would be pretty distinct from ExecutionPolicy :)"}}
{"actor":{"display_login":"wolfv"}}