{"action":"created","issue":{"url":"https://api.github.com/repos/RoaringBitmap/roaring/issues/77","repository_url":"https://api.github.com/repos/RoaringBitmap/roaring","labels_url":"https://api.github.com/repos/RoaringBitmap/roaring/issues/77/labels{/name}","comments_url":"https://api.github.com/repos/RoaringBitmap/roaring/issues/77/comments","events_url":"https://api.github.com/repos/RoaringBitmap/roaring/issues/77/events","html_url":"https://github.com/RoaringBitmap/roaring/pull/77","id":195186270,"number":77,"title":"runContainer16/32 and msgpack2/snappy serialization","user":{"login":"glycerine","id":445247,"avatar_url":"https://avatars.githubusercontent.com/u/445247?v=3","gravatar_id":"","url":"https://api.github.com/users/glycerine","html_url":"https://github.com/glycerine","followers_url":"https://api.github.com/users/glycerine/followers","following_url":"https://api.github.com/users/glycerine/following{/other_user}","gists_url":"https://api.github.com/users/glycerine/gists{/gist_id}","starred_url":"https://api.github.com/users/glycerine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glycerine/subscriptions","organizations_url":"https://api.github.com/users/glycerine/orgs","repos_url":"https://api.github.com/users/glycerine/repos","events_url":"https://api.github.com/users/glycerine/events{/privacy}","received_events_url":"https://api.github.com/users/glycerine/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2016-12-13T08:04:17Z","updated_at":"2016-12-15T05:44:35Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RoaringBitmap/roaring/pulls/77","html_url":"https://github.com/RoaringBitmap/roaring/pull/77","diff_url":"https://github.com/RoaringBitmap/roaring/pull/77.diff","patch_url":"https://github.com/RoaringBitmap/roaring/pull/77.patch"},"body":"https://github.com/RoaringBitmap/roaring/pull/70 had the problem that the tests wouldn't all pass because the serialization wasn't done for runContainer16. In this `serialization_msgp` branch I finished it off using the serialization methods (msgpack2 for serialization and snappy for compression) discussed in https://github.com/RoaringBitmap/roaring/issues/76.\r\n\r\nFixes #37\r\nFixes #76 \r\n\r\nAll tests are green. From the checklist on #70:\r\n\r\n- [x] serialization of Bitmaps including the runContainer is done in this PR.\r\n- [x] ``rangeOfOnes`` should generate a run container (Done: https://github.com/glycerine/roaring/pull/1)\r\n- [x] Implement ``RunOptimize``\r\n- [x] Add ``isFull`` method; and\r\n- [ ]  convert full bitmaps to run containers when they are full\r\n- [ ] Upgrade unit tests so that they call ``RunOptimize``, including the ``smat`` tests\r\n- [ ] Make sure we pass the updated unit tests\r\n\r\nthese routines still need tests for the runContainer implementation\r\n- [ ] fillLeastSignificant16bits()\r\n- [ ] getShortIterator()\r\n- [ ] getSizeInBytes()\r\n- [ ] iaddRange()\r\n- [ ] iremoveRange()\r\n\r\nI open this as a distinct branch in case nobody wants the msgpack2/snappy serialization.\r\n\r\nOf course I think it's great. But if there are back-wards compatibility concerns then it may be a non-starter."},"comment":{"url":"https://api.github.com/repos/RoaringBitmap/roaring/issues/comments/267244293","html_url":"https://github.com/RoaringBitmap/roaring/pull/77#issuecomment-267244293","issue_url":"https://api.github.com/repos/RoaringBitmap/roaring/issues/77","id":267244293,"user":{"login":"glycerine","id":445247,"avatar_url":"https://avatars.githubusercontent.com/u/445247?v=3","gravatar_id":"","url":"https://api.github.com/users/glycerine","html_url":"https://github.com/glycerine","followers_url":"https://api.github.com/users/glycerine/followers","following_url":"https://api.github.com/users/glycerine/following{/other_user}","gists_url":"https://api.github.com/users/glycerine/gists{/gist_id}","starred_url":"https://api.github.com/users/glycerine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glycerine/subscriptions","organizations_url":"https://api.github.com/users/glycerine/orgs","repos_url":"https://api.github.com/users/glycerine/repos","events_url":"https://api.github.com/users/glycerine/events{/privacy}","received_events_url":"https://api.github.com/users/glycerine/received_events","type":"User","site_admin":false},"created_at":"2016-12-15T05:44:35Z","updated_at":"2016-12-15T05:44:35Z","body":"@lemire sounds good. Thanks for the format docs. I'll try to implement the format. Is there a place where I could extend it to allow runContainer32 as well?  That was one of my long term interests--since I'll always be starting with a [0,2^24-1] container -- for my application this is a super common case.\r\n\r\nI should be able to get to it this weekend. I'll consolidate the pull requests into one."}}
{"actor":{"display_login":"glycerine"}}