{"action":"created","issue":{"url":"https://api.github.com/repos/numpy/numpy/issues/6666","labels_url":"https://api.github.com/repos/numpy/numpy/issues/6666/labels{/name}","comments_url":"https://api.github.com/repos/numpy/numpy/issues/6666/comments","events_url":"https://api.github.com/repos/numpy/numpy/issues/6666/events","html_url":"https://github.com/numpy/numpy/pull/6666","id":116393968,"number":6666,"title":"ENH: use prefetching for summation","user":{"login":"juliantaylor","id":542663,"avatar_url":"https://avatars.githubusercontent.com/u/542663?v=3","gravatar_id":"","url":"https://api.github.com/users/juliantaylor","html_url":"https://github.com/juliantaylor","followers_url":"https://api.github.com/users/juliantaylor/followers","following_url":"https://api.github.com/users/juliantaylor/following{/other_user}","gists_url":"https://api.github.com/users/juliantaylor/gists{/gist_id}","starred_url":"https://api.github.com/users/juliantaylor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juliantaylor/subscriptions","organizations_url":"https://api.github.com/users/juliantaylor/orgs","repos_url":"https://api.github.com/users/juliantaylor/repos","events_url":"https://api.github.com/users/juliantaylor/events{/privacy}","received_events_url":"https://api.github.com/users/juliantaylor/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/numpy/numpy/labels/component:%20numpy.core","name":"component: numpy.core","color":"ff0000"},{"url":"https://api.github.com/repos/numpy/numpy/labels/Enhancement","name":"Enhancement","color":"e102d8"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-11T18:36:19Z","updated_at":"2015-11-16T20:47:06Z","closed_at":"2015-11-16T20:46:38Z","pull_request":{"url":"https://api.github.com/repos/numpy/numpy/pulls/6666","html_url":"https://github.com/numpy/numpy/pull/6666","diff_url":"https://github.com/numpy/numpy/pull/6666.diff","patch_url":"https://github.com/numpy/numpy/pull/6666.patch"},"body":"It seems the small blocksizes (128) messes up the hardware prefetcher\r\nwhich would usually be able to work fine on this iteration pattern.\r\nFix this by using software prefetching. Improves performance for large\r\nsums by 15%-30%. Tested on core2duo, xeon E5-4620, i5-3470 and AMD phenom II X4.\r\n\r\nUses __builtin_prefetch as that, unlike SSE2 _mm_prefetch, also works on\r\ncapable non-x86 cpus."},"comment":{"url":"https://api.github.com/repos/numpy/numpy/issues/comments/157164357","html_url":"https://github.com/numpy/numpy/pull/6666#issuecomment-157164357","issue_url":"https://api.github.com/repos/numpy/numpy/issues/6666","id":157164357,"user":{"login":"charris","id":77272,"avatar_url":"https://avatars.githubusercontent.com/u/77272?v=3","gravatar_id":"","url":"https://api.github.com/users/charris","html_url":"https://github.com/charris","followers_url":"https://api.github.com/users/charris/followers","following_url":"https://api.github.com/users/charris/following{/other_user}","gists_url":"https://api.github.com/users/charris/gists{/gist_id}","starred_url":"https://api.github.com/users/charris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/charris/subscriptions","organizations_url":"https://api.github.com/users/charris/orgs","repos_url":"https://api.github.com/users/charris/repos","events_url":"https://api.github.com/users/charris/events{/privacy}","received_events_url":"https://api.github.com/users/charris/received_events","type":"User","site_admin":false},"created_at":"2015-11-16T20:47:06Z","updated_at":"2015-11-16T20:47:06Z","body":"OK, let's give it a shot. Thanks Julian."}}