{"action":"created","issue":{"url":"https://api.github.com/repos/Blosc/c-blosc/issues/88","labels_url":"https://api.github.com/repos/Blosc/c-blosc/issues/88/labels{/name}","comments_url":"https://api.github.com/repos/Blosc/c-blosc/issues/88/comments","events_url":"https://api.github.com/repos/Blosc/c-blosc/issues/88/events","html_url":"https://github.com/Blosc/c-blosc/pull/88","id":58508476,"number":88,"title":"SSE2 shuffle/unshuffle functions for large types","user":{"login":"jack-pappas","id":477287,"avatar_url":"https://avatars.githubusercontent.com/u/477287?v=3","gravatar_id":"","url":"https://api.github.com/users/jack-pappas","html_url":"https://github.com/jack-pappas","followers_url":"https://api.github.com/users/jack-pappas/followers","following_url":"https://api.github.com/users/jack-pappas/following{/other_user}","gists_url":"https://api.github.com/users/jack-pappas/gists{/gist_id}","starred_url":"https://api.github.com/users/jack-pappas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jack-pappas/subscriptions","organizations_url":"https://api.github.com/users/jack-pappas/orgs","repos_url":"https://api.github.com/users/jack-pappas/repos","events_url":"https://api.github.com/users/jack-pappas/events{/privacy}","received_events_url":"https://api.github.com/users/jack-pappas/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-02-22T16:32:49Z","updated_at":"2015-02-22T18:05:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Blosc/c-blosc/pulls/88","html_url":"https://github.com/Blosc/c-blosc/pull/88","diff_url":"https://github.com/Blosc/c-blosc/pull/88.diff","patch_url":"https://github.com/Blosc/c-blosc/pull/88.patch"},"body":"This PR is a more-focused version of #86. It includes changes to add the SSE2-accelerated shuffle/unshuffle functions for types larger than the vector size (in this case, 16 bytes). The changes also allow the SSE2-accelerated functions to be used in some cases where the input data doesn't contain an \"ideal\" number of elements. In those cases, the number of elements is rounded down to an acceptable value and the SSE2-accelerated functions are used (which generally covers the majority of the elements in the input buffer); the simple byte-by-byte shuffle/unshuffle functions are used for the remaining elements. This is particularly important for \"large\" types: due to the way block sizes are calculated (prior to these changes), data shuffled with existing/older versions of blosc won't have the correct size to utilize the new SSE2-accelerated functions -- so these modifications allow the new functions to be used with existing shuffled/compressed data.\r\n\r\nI'm opening the PR now to get feedback, but I think additional tests need to be implemented to verify data is round-tripped correctly and is backwards-compatible with the existing code (the byte-by-byte shuffle/unshuffle for large types) before this is merged. I'll implement some tests for this ASAP, but I encourage others to test the code as well (in whatever way is appropriate for their usage of blosc) to help sniff out potential edge cases."},"comment":{"url":"https://api.github.com/repos/Blosc/c-blosc/issues/comments/75448461","html_url":"https://github.com/Blosc/c-blosc/pull/88#issuecomment-75448461","issue_url":"https://api.github.com/repos/Blosc/c-blosc/issues/88","id":75448461,"user":{"login":"FrancescAlted","id":314521,"avatar_url":"https://avatars.githubusercontent.com/u/314521?v=3","gravatar_id":"","url":"https://api.github.com/users/FrancescAlted","html_url":"https://github.com/FrancescAlted","followers_url":"https://api.github.com/users/FrancescAlted/followers","following_url":"https://api.github.com/users/FrancescAlted/following{/other_user}","gists_url":"https://api.github.com/users/FrancescAlted/gists{/gist_id}","starred_url":"https://api.github.com/users/FrancescAlted/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FrancescAlted/subscriptions","organizations_url":"https://api.github.com/users/FrancescAlted/orgs","repos_url":"https://api.github.com/users/FrancescAlted/repos","events_url":"https://api.github.com/users/FrancescAlted/events{/privacy}","received_events_url":"https://api.github.com/users/FrancescAlted/received_events","type":"User","site_admin":false},"created_at":"2015-02-22T18:05:28Z","updated_at":"2015-02-22T18:05:28Z","body":"Thanks for decoupling this feature in a proper PR.  Any idea on why TravisCI is complaining on:\r\n\r\n```\r\nTest  #1: test_test_basics .................***Exception: Numerical  0.00 sec\r\n```\r\n\r\n?"}}