)]}'
{
  "log": [
    {
      "commit": "69fa387bc9cd67dbe2f4649b4ebd2239e879f239",
      "tree": "c8ff4f89a668c1b704b171f17f208c1b02b61b52",
      "parents": [
        "dc821b5c4dcae751fa18dc6ded79385bd3c304e1"
      ],
      "author": {
        "name": "ncshaw",
        "email": "noahshaw11@yahoo.com",
        "time": "Thu Jun 03 17:43:06 2021 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Jun 03 17:58:17 2021 -0400"
      },
      "message": "Remove rebar\n"
    },
    {
      "commit": "dc821b5c4dcae751fa18dc6ded79385bd3c304e1",
      "tree": "281f7b712c0984da3f511d5be6b446442272ce90",
      "parents": [
        "0194d19c27c44f3a490bc464fc234fae798f4bc6"
      ],
      "author": {
        "name": "ncshaw",
        "email": "noahshaw11@yahoo.com",
        "time": "Mon May 24 11:22:19 2021 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed May 26 10:56:50 2021 -0400"
      },
      "message": "Change random to rand\n"
    },
    {
      "commit": "0194d19c27c44f3a490bc464fc234fae798f4bc6",
      "tree": "695a817258bea1888d326243fb65add8003dd141",
      "parents": [
        "3683a32e91ccc9fce7a8d796191c153b63b54c77",
        "69526839f56961f1cf3018373b8cd64c75c97527"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Jan 21 09:31:10 2020 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 21 09:31:10 2020 -0500"
      },
      "message": "Merge pull request #5 from apache/remove-triq-dependency\n\nRemove runtime triq dependency"
    },
    {
      "commit": "69526839f56961f1cf3018373b8cd64c75c97527",
      "tree": "695a817258bea1888d326243fb65add8003dd141",
      "parents": [
        "3683a32e91ccc9fce7a8d796191c153b63b54c77"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Mon Jan 20 18:40:57 2020 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Mon Jan 20 18:40:57 2020 -0500"
      },
      "message": "Remove runtime triq dependency\n\nThis was the only place that was bringing in triq even for CouchDB\u0027s own tests,\nwe never added it to the main list of deps. Trying to switch to PropEr so\nseeing if we can remove it and make a new release without it.\n"
    },
    {
      "commit": "3683a32e91ccc9fce7a8d796191c153b63b54c77",
      "tree": "1653c2cc9a253e890876181d9d6911004960d5d2",
      "parents": [
        "a6b4469ca2fc6a3ddbd36a2ba608838762d88520",
        "55414a376f2e85e281cf43f8dc1209fa7f577624"
      ],
      "author": {
        "name": "Joan Touzet",
        "email": "wohali@users.noreply.github.com",
        "time": "Wed Jul 18 12:13:30 2018 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 18 12:13:30 2018 -0400"
      },
      "message": "Merge pull request #4 from apache/fix-windows-build\n\nFix hyper build for Windows"
    },
    {
      "commit": "55414a376f2e85e281cf43f8dc1209fa7f577624",
      "tree": "1653c2cc9a253e890876181d9d6911004960d5d2",
      "parents": [
        "a6b4469ca2fc6a3ddbd36a2ba608838762d88520"
      ],
      "author": {
        "name": "Joan Touzet",
        "email": "wohali@apache.org",
        "time": "Wed Jul 18 11:19:11 2018 -0400"
      },
      "committer": {
        "name": "Joan Touzet",
        "email": "wohali@apache.org",
        "time": "Wed Jul 18 11:19:11 2018 -0400"
      },
      "message": "Fix hyper build for win32\n"
    },
    {
      "commit": "a6b4469ca2fc6a3ddbd36a2ba608838762d88520",
      "tree": "fb9dfe942b46be31a316e0df388f445933445358",
      "parents": [
        "2c3e5e9f6a24d6df809b190ce48feec58aab5d26",
        "221ae8850fee51a7859083a8fdf677d2bbff11dd"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu May 31 00:13:09 2018 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 31 00:13:09 2018 -0400"
      },
      "message": "Merge pull request #3 from apache/use-matching-tags-for-triq-deps\n\nUse exactly matching tags for triq dependencies"
    },
    {
      "commit": "221ae8850fee51a7859083a8fdf677d2bbff11dd",
      "tree": "fb9dfe942b46be31a316e0df388f445933445358",
      "parents": [
        "2c3e5e9f6a24d6df809b190ce48feec58aab5d26"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu May 31 00:05:23 2018 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu May 31 00:05:23 2018 -0400"
      },
      "message": "Use exactly matching tags for triq dependencies\n\nOtherwise rebar thinks there is a conflict:\n\n```\nERROR: Conflicting dependencies for triq: [{\"From: hyper\",\n                                            {[],\n                                             {git,\n                                              \"https://github.com/apache/couchdb-triq\",\n                                              {tag,\"v1.2.0\"}}}},\n                                           {\"From: asf2\",\n                                            {\".*\",\n                                             {git,\n                                              \"https://github.com/apache/couchdb-triq.git\",\n                                              {tag,\"v1.2.0\"}}}}]\n```\n"
    },
    {
      "commit": "2c3e5e9f6a24d6df809b190ce48feec58aab5d26",
      "tree": "4516d38225dffb613e18199bc576727999cbf816",
      "parents": [
        "20ca66791918e1a58179ac29603050e76706499e",
        "79de6e6b04919ca64997220f536d35faf404ea7a"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed May 30 23:18:20 2018 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 30 23:18:20 2018 -0400"
      },
      "message": "Merge pull request #2 from apache/fix-tests-to-run-with-triq\n\nFix tests to run with Triq"
    },
    {
      "commit": "79de6e6b04919ca64997220f536d35faf404ea7a",
      "tree": "4516d38225dffb613e18199bc576727999cbf816",
      "parents": [
        "84df68097683d5ff3b06add86c8856285b77556d"
      ],
      "author": {
        "name": "Adam Kocoloski",
        "email": "kocolosk@apache.org",
        "time": "Wed May 30 20:32:21 2018 -0400"
      },
      "committer": {
        "name": "Adam Kocoloski",
        "email": "kocolosk@apache.org",
        "time": "Wed May 30 20:32:21 2018 -0400"
      },
      "message": "Comment out broken Makefile target\n"
    },
    {
      "commit": "84df68097683d5ff3b06add86c8856285b77556d",
      "tree": "bd5de2d6ebcd8573ee1589d94fb7d79c0e1a2fcf",
      "parents": [
        "1a2028e87e16cb95ee5b3071a4b8d641055e6c97"
      ],
      "author": {
        "name": "Adam Kocoloski",
        "email": "kocolosk@apache.org",
        "time": "Wed May 30 20:31:29 2018 -0400"
      },
      "committer": {
        "name": "Adam Kocoloski",
        "email": "kocolosk@apache.org",
        "time": "Wed May 30 20:31:29 2018 -0400"
      },
      "message": "Disable failing test on R20\n"
    },
    {
      "commit": "1a2028e87e16cb95ee5b3071a4b8d641055e6c97",
      "tree": "ce82ed712aec97bd6a3a41346075a9beb223d80c",
      "parents": [
        "20ca66791918e1a58179ac29603050e76706499e"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed May 30 19:15:40 2018 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed May 30 19:15:40 2018 -0400"
      },
      "message": "Fix tests to run with Triq\n\nUsed CouchDB\u0027s Triq port\n\nHad to uncomment a bunch of bisect module checks. That made the diff kind of\nugly.\n"
    },
    {
      "commit": "20ca66791918e1a58179ac29603050e76706499e",
      "tree": "5414bc9393036ebc794f807dcc857775bc4bc827",
      "parents": [
        "4b1abc4284fc784f6def4f4928f715b0d33136f9",
        "53a5679168a85ef11974817de83671135835465a"
      ],
      "author": {
        "name": "Adam Kocoloski",
        "email": "adam@kocolosk.net",
        "time": "Wed May 30 17:52:04 2018 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 30 17:52:04 2018 -0400"
      },
      "message": "Merge pull request #1 from apache/remove-bisect\n\nRemove bisect implementation"
    },
    {
      "commit": "53a5679168a85ef11974817de83671135835465a",
      "tree": "5414bc9393036ebc794f807dcc857775bc4bc827",
      "parents": [
        "4b1abc4284fc784f6def4f4928f715b0d33136f9"
      ],
      "author": {
        "name": "Adam Kocoloski",
        "email": "kocolosk@apache.org",
        "time": "Wed May 30 17:42:38 2018 -0400"
      },
      "committer": {
        "name": "Adam Kocoloski",
        "email": "kocolosk@apache.org",
        "time": "Wed May 30 17:47:05 2018 -0400"
      },
      "message": "Remove bisect implementation\n\nWe\u0027re not using this backend, and it requires R17 (we are still\nsupporting R16 as of this writing).\n"
    },
    {
      "commit": "4b1abc4284fc784f6def4f4928f715b0d33136f9",
      "tree": "95748675585e246cafd6308f4c5fafaf26d239fc",
      "parents": [
        "55b7a63c00f40ed49a6d6996d76c6b435d99edea",
        "bef80ca3490804dea7c2ff3f31d8866a019b31e3"
      ],
      "author": {
        "name": "renjith-ga",
        "email": "renjith.nair@gameanalytics.com",
        "time": "Tue Oct 11 10:39:13 2016 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 11 10:39:13 2016 +0100"
      },
      "message": "Merge pull request #16 from elverkilde/fix/carray\n\nFix/carray - Merging the pull request from @elverkilde  as the permission has been given by all three contributors @elverkilde @chrisavl and @johannesh to change license to MIT"
    },
    {
      "commit": "bef80ca3490804dea7c2ff3f31d8866a019b31e3",
      "tree": "95748675585e246cafd6308f4c5fafaf26d239fc",
      "parents": [
        "dbd6d5a59173488105bc04fd198e3dbaf9707326"
      ],
      "author": {
        "name": "Jon Elverkilde",
        "email": "jone@eyeem.com",
        "time": "Tue Oct 11 11:09:23 2016 +0200"
      },
      "committer": {
        "name": "Jon Elverkilde",
        "email": "jone@eyeem.com",
        "time": "Tue Oct 11 11:09:23 2016 +0200"
      },
      "message": "Switch to MIT license for carray\n"
    },
    {
      "commit": "dbd6d5a59173488105bc04fd198e3dbaf9707326",
      "tree": "834af03d1458b4bf5f53916adff8164f4e407978",
      "parents": [
        "55b7a63c00f40ed49a6d6996d76c6b435d99edea"
      ],
      "author": {
        "name": "Fred Dushin",
        "email": "fdushin@basho.com",
        "time": "Tue Sep 27 14:03:53 2016 -0400"
      },
      "committer": {
        "name": "Jon Elverkilde",
        "email": "jone@eyeem.com",
        "time": "Tue Oct 11 11:04:20 2016 +0200"
      },
      "message": "Removed use of tgmath.h for pow function (assuming C99 compiler)\n"
    },
    {
      "commit": "55b7a63c00f40ed49a6d6996d76c6b435d99edea",
      "tree": "067a4ec2fea68d88c042497ce5fedf41ec422421",
      "parents": [
        "8cdce4bf97280b5a9501c16bce37071aab0387bd",
        "8997425ed477dcb7358fa91491ef761db57f9069"
      ],
      "author": {
        "name": "Jon Elverkilde",
        "email": "jon@gameanalytics.com",
        "time": "Wed Jul 27 16:38:41 2016 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 16:38:41 2016 +0200"
      },
      "message": "Merge pull request #14 from savonarola/fix-deprecated-time-functions\n\nUpdated usage of time functions"
    },
    {
      "commit": "8997425ed477dcb7358fa91491ef761db57f9069",
      "tree": "067a4ec2fea68d88c042497ce5fedf41ec422421",
      "parents": [
        "8cdce4bf97280b5a9501c16bce37071aab0387bd"
      ],
      "author": {
        "name": "av",
        "email": "av@fun-box.ru",
        "time": "Wed Jul 27 16:45:12 2016 +0300"
      },
      "committer": {
        "name": "av",
        "email": "av@fun-box.ru",
        "time": "Wed Jul 27 16:45:12 2016 +0300"
      },
      "message": "Updated usage of time functions (removed usage of deprecated erlang:now())\n"
    },
    {
      "commit": "8cdce4bf97280b5a9501c16bce37071aab0387bd",
      "tree": "be114658c5240edb2ea0178d0733c8f141d3b1cc",
      "parents": [
        "703cf11168a7e8f7056f317ac94832cc50a927c7",
        "8f6dc5a80f177fa022d92afce64d67a43cfc58be"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "johannesh@users.noreply.github.com",
        "time": "Mon Jun 29 12:41:23 2015 +0200"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "johannesh@users.noreply.github.com",
        "time": "Mon Jun 29 12:41:23 2015 +0200"
      },
      "message": "Merge pull request #11 from knutin/master\n\nPull in hyper:is_hyper/1 from Knut"
    },
    {
      "commit": "703cf11168a7e8f7056f317ac94832cc50a927c7",
      "tree": "41d910b08d6073e915d79d060eebcdbd4177477e",
      "parents": [
        "3f4fe2e8a176a86bd0aee1ccb1e7905f1bbdec52"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Mon Jun 29 12:38:39 2015 +0200"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Mon Jun 29 12:39:10 2015 +0200"
      },
      "message": "add note about `indent` to C source file\n"
    },
    {
      "commit": "3f4fe2e8a176a86bd0aee1ccb1e7905f1bbdec52",
      "tree": "9ad84414ddd249d9946bba440f85a37ecf187e3b",
      "parents": [
        "36b8ea3ab718e8ac630491ae3d8df0bb2188d824"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Mon Jun 29 12:37:25 2015 +0200"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Mon Jun 29 12:39:04 2015 +0200"
      },
      "message": "add contributors to C source file\n"
    },
    {
      "commit": "36b8ea3ab718e8ac630491ae3d8df0bb2188d824",
      "tree": "caf90698044ef8f408f20c16affff0975a0ae046",
      "parents": [
        "415b68eb6a9aca56a6e95ca16697da5eb8daba00",
        "66312682fd340008897bbd6d0c1dd3c5d6bf89e1"
      ],
      "author": {
        "name": "Chris de Vries",
        "email": "chris@de-vries.id.au",
        "time": "Mon Jun 29 12:02:28 2015 +0200"
      },
      "committer": {
        "name": "Chris de Vries",
        "email": "chris@de-vries.id.au",
        "time": "Mon Jun 29 12:02:28 2015 +0200"
      },
      "message": "Merge pull request #10 from GameAnalytics/fix_merge_leak\n\nRelease resource created for merge result"
    },
    {
      "commit": "66312682fd340008897bbd6d0c1dd3c5d6bf89e1",
      "tree": "caf90698044ef8f408f20c16affff0975a0ae046",
      "parents": [
        "031a16ed6c6833971dc1c5b47f82125eb23db25f"
      ],
      "author": {
        "name": "cmdevries",
        "email": "cdevries@gameanalytics.com",
        "time": "Mon Jun 29 10:55:14 2015 +0200"
      },
      "committer": {
        "name": "cmdevries",
        "email": "cdevries@gameanalytics.com",
        "time": "Mon Jun 29 10:55:14 2015 +0200"
      },
      "message": "Remove unnecessary enif_make_resource.\n"
    },
    {
      "commit": "031a16ed6c6833971dc1c5b47f82125eb23db25f",
      "tree": "506e0a3ff9394dcf7bb59ab5ed06565d474135a8",
      "parents": [
        "415b68eb6a9aca56a6e95ca16697da5eb8daba00"
      ],
      "author": {
        "name": "Jon Elverkilde",
        "email": "jon@gameanalytics.com",
        "time": "Sat Jun 27 23:52:19 2015 +0200"
      },
      "committer": {
        "name": "Jon Elverkilde",
        "email": "jon@gameanalytics.com",
        "time": "Sat Jun 27 23:52:19 2015 +0200"
      },
      "message": "Release resource created for merge result\n"
    },
    {
      "commit": "8f6dc5a80f177fa022d92afce64d67a43cfc58be",
      "tree": "3f3a6d7c68b605d5c7e5a3b9bb61ff78a7f33579",
      "parents": [
        "5ba42055427d8c958af3930bbead0158d94212d3"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu May 28 12:04:51 2015 +0200"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu May 28 12:04:51 2015 +0200"
      },
      "message": "Added hyper:is_hyper/1.\n"
    },
    {
      "commit": "415b68eb6a9aca56a6e95ca16697da5eb8daba00",
      "tree": "3d474a201c7187dff724c805299fc7eb8bd6df28",
      "parents": [
        "17e59fb29929df39483ded2a675e7a4691c669f5",
        "a5789a0bd0de283696fa6c4ba782dc43d830937c"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "johannesh@users.noreply.github.com",
        "time": "Tue Apr 28 09:56:41 2015 +0200"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "johannesh@users.noreply.github.com",
        "time": "Tue Apr 28 09:56:41 2015 +0200"
      },
      "message": "Merge pull request #9 from GameAnalytics/remove_alloc\n\nRemove unecessary alloc from hyper c array."
    },
    {
      "commit": "a5789a0bd0de283696fa6c4ba782dc43d830937c",
      "tree": "3d474a201c7187dff724c805299fc7eb8bd6df28",
      "parents": [
        "12208b0b5f5b908b2c1a8ae62bc939560038f969"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Tue Apr 28 09:55:03 2015 +0200"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Tue Apr 28 09:55:03 2015 +0200"
      },
      "message": "run indent\n"
    },
    {
      "commit": "12208b0b5f5b908b2c1a8ae62bc939560038f969",
      "tree": "37ed017333cbe82b6249856c600ee431b7dacefe",
      "parents": [
        "17e59fb29929df39483ded2a675e7a4691c669f5"
      ],
      "author": {
        "name": "cmdevries",
        "email": "cdevries@gameanalytics.com",
        "time": "Tue Apr 28 09:46:04 2015 +0200"
      },
      "committer": {
        "name": "cmdevries",
        "email": "cdevries@gameanalytics.com",
        "time": "Tue Apr 28 09:46:04 2015 +0200"
      },
      "message": "Remove unecessary alloc from hyper c array.\n\nThe last commit allocated an array for pointers to the hyper c array\nstructure. This is not necessary for improved performance. This change\nstill leaves the union time at 0.01 to 0.02 ms.\n"
    },
    {
      "commit": "17e59fb29929df39483ded2a675e7a4691c669f5",
      "tree": "e57bd0bba6310d6deef106a15f1b8ad5a83787d2",
      "parents": [
        "5ba42055427d8c958af3930bbead0158d94212d3",
        "74e50a9625d2185b31868495a02c5e74453e3fcc"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "johannesh@users.noreply.github.com",
        "time": "Mon Apr 27 14:33:22 2015 +0200"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "johannesh@users.noreply.github.com",
        "time": "Mon Apr 27 14:33:22 2015 +0200"
      },
      "message": "Merge pull request #8 from GameAnalytics/faster_merge\n\nFaster merging of hyper c arrays."
    },
    {
      "commit": "74e50a9625d2185b31868495a02c5e74453e3fcc",
      "tree": "e57bd0bba6310d6deef106a15f1b8ad5a83787d2",
      "parents": [
        "5ba42055427d8c958af3930bbead0158d94212d3"
      ],
      "author": {
        "name": "Chris de Vries",
        "email": "chris.de-vries@gameanalytics.com",
        "time": "Mon Apr 27 12:36:25 2015 +0200"
      },
      "committer": {
        "name": "Chris de Vries",
        "email": "chris.de-vries@gameanalytics.com",
        "time": "Mon Apr 27 14:23:20 2015 +0200"
      },
      "message": "Faster merging of hyper c arrays.\n\nI tried implementing 3 different approaches to merging the arrays. This was by\nfar the fastest at (0.01ms to 0.02ms for the union benchmark). It seems\nwhen the ternary operator is inside the inner loop compiler does something that\nis fast such as an operation with no branching.\n\nThe other approaches were,\n\n* processing a 64-bit integer at a time and unpacking the bytes (0.16ms)\n* branching rather than a ternary operator for the max value which is\n  similar to the original code (0.10ms to 0.40ms)\n\nBenchmark before,\n\nmodule       P        card   fill      bytes  insert us   union ms    card ms    json ms\nhyper_carray 15          1   0.00      32784       1.80       0.10       0.33       0.21\nhyper_carray 15        100   0.00      32784       0.54       0.11       0.34       0.28\nhyper_carray 15        500   0.02      32784       0.50       0.10       0.38       0.47\nhyper_carray 15       1000   0.03      32784       0.51       0.11       0.38       0.74\nhyper_carray 15       2500   0.07      32784       0.50       0.11       0.43       1.41\nhyper_carray 15       5000   0.14      32784       0.51       0.12       0.51       2.38\nhyper_carray 15      10000   0.26      32784       0.51       0.14       0.65       4.17\nhyper_carray 15      15000   0.37      32784       0.51       0.16       0.82       5.32\nhyper_carray 15      25000   0.53      32784       0.51       0.20       1.05       6.10\nhyper_carray 15      50000   0.78      32784       0.51       0.26       1.31       5.77\nhyper_carray 15     100000   0.95      32784       0.51       0.33       1.65       5.18\nhyper_carray 15    1000000   1.00      32784       0.53       0.43       1.83       5.23\n\nBenchmark after,\n\nmodule       P        card   fill      bytes  insert us   union ms    card ms    json ms\nhyper_carray 15          1   0.00      32784       2.30       0.02       0.32       0.22\nhyper_carray 15        100   0.00      32784       0.53       0.02       0.33       0.22\nhyper_carray 15        500   0.02      32784       0.51       0.02       0.35       0.43\nhyper_carray 15       1000   0.03      32784       0.50       0.02       0.37       0.68\nhyper_carray 15       2500   0.07      32784       0.51       0.02       0.42       1.34\nhyper_carray 15       5000   0.14      32784       0.50       0.01       0.50       2.33\nhyper_carray 15      10000   0.26      32784       0.52       0.01       0.65       4.10\nhyper_carray 15      15000   0.37      32784       0.51       0.02       0.79       5.33\nhyper_carray 15      25000   0.53      32784       0.51       0.02       1.01       6.11\nhyper_carray 15      50000   0.78      32784       0.51       0.02       1.30       5.77\nhyper_carray 15     100000   0.95      32784       0.51       0.02       1.63       5.23\nhyper_carray 15    1000000   1.00      32784       0.53       0.02       1.82       5.32\n"
    },
    {
      "commit": "5ba42055427d8c958af3930bbead0158d94212d3",
      "tree": "56ddf4c4645e57136e94f987f7fb01e702683c2c",
      "parents": [
        "f7ca71db8a3343ca093d64162c43610237349c84",
        "67a2d14a46ff0c9941ea838f4bf26036dd85bf45"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "johannesh@users.noreply.github.com",
        "time": "Wed Apr 22 10:28:33 2015 +0200"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "johannesh@users.noreply.github.com",
        "time": "Wed Apr 22 10:28:33 2015 +0200"
      },
      "message": "Merge pull request #7 from GameAnalytics/carray_tests\n\nTest hyper_carray backend"
    },
    {
      "commit": "67a2d14a46ff0c9941ea838f4bf26036dd85bf45",
      "tree": "56ddf4c4645e57136e94f987f7fb01e702683c2c",
      "parents": [
        "28241c56dc0b46b24851bfae721f49466536e265"
      ],
      "author": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Mon Apr 20 10:03:26 2015 +0200"
      },
      "committer": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Wed Apr 22 09:46:46 2015 +0200"
      },
      "message": "Fix hyper_carray register encoding\n\nDon\u0027t include anything else than the registers in the returned binary\n"
    },
    {
      "commit": "28241c56dc0b46b24851bfae721f49466536e265",
      "tree": "0143cf7d34d9d1164f27d78cf192df1dc2c21dd0",
      "parents": [
        "b8c89fab3df1a3f17d85e1cd84cc5501509b38bb"
      ],
      "author": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Mon Apr 20 10:01:11 2015 +0200"
      },
      "committer": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Wed Apr 22 09:46:46 2015 +0200"
      },
      "message": "Support single hll input for hyper_carray:union/1\n\nThis function still creates a new hll, could be optimized to simply return\nit\u0027s input.\n"
    },
    {
      "commit": "b8c89fab3df1a3f17d85e1cd84cc5501509b38bb",
      "tree": "86d127619fac4dddbd6792f5aea71cb89922b0a4",
      "parents": [
        "416414629abdfdfec284400e2a477f871877bba4"
      ],
      "author": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Mon Apr 20 10:00:28 2015 +0200"
      },
      "committer": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Wed Apr 22 09:46:46 2015 +0200"
      },
      "message": "Include hyper_carray in performance report\n"
    },
    {
      "commit": "416414629abdfdfec284400e2a477f871877bba4",
      "tree": "5e3ec7f045a903132a09000de0e618100d295a94",
      "parents": [
        "f7ca71db8a3343ca093d64162c43610237349c84"
      ],
      "author": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Mon Apr 20 09:52:35 2015 +0200"
      },
      "committer": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Wed Apr 22 09:46:41 2015 +0200"
      },
      "message": "Add hyper_carray to test suite\n"
    },
    {
      "commit": "f7ca71db8a3343ca093d64162c43610237349c84",
      "tree": "8da84b9072861ff5a86b190d637206ae481ee01f",
      "parents": [
        "57c001dd7911440d9e7eb9887bba922fb8cb9fdc"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Nov 20 11:17:47 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Nov 20 11:17:47 2014 +0100"
      },
      "message": "Fixed bug in merging of filters with the hyper_bisect backend.\n"
    },
    {
      "commit": "57c001dd7911440d9e7eb9887bba922fb8cb9fdc",
      "tree": "c8348ec2334908ce5cf33773ad08d021f8f64e37",
      "parents": [
        "6f1a9be6d9735fe8c90a0f655aafd4b5074030c5"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Nov 20 11:17:32 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Nov 20 11:17:32 2014 +0100"
      },
      "message": "Optimization to hyper_binary backend for sequential changes to the same index.\n"
    },
    {
      "commit": "6f1a9be6d9735fe8c90a0f655aafd4b5074030c5",
      "tree": "4795390a385fd6988c08f7019d6d76e31d42c962",
      "parents": [
        "2c051e14c9f8541d28eaa983b14c60e8bece1310",
        "91717016d0945fc06c47178afa3bfd2c2772e526"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Oct 16 16:35:50 2014 +0200"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Oct 16 16:35:50 2014 +0200"
      },
      "message": "Merge pull request #6 from martinrehfeld/folding\n\nSupport mixed-precision union"
    },
    {
      "commit": "91717016d0945fc06c47178afa3bfd2c2772e526",
      "tree": "4795390a385fd6988c08f7019d6d76e31d42c962",
      "parents": [
        "f78a5ded615d764db254712827e0ac6ef9c7b9cc"
      ],
      "author": {
        "name": "Martin Rehfeld",
        "email": "martin.rehfeld@glnetworks.de",
        "time": "Thu Oct 16 14:28:59 2014 +0000"
      },
      "committer": {
        "name": "Martin Rehfeld",
        "email": "martin.rehfeld@glnetworks.de",
        "time": "Thu Oct 16 14:28:59 2014 +0000"
      },
      "message": "Demonstrate error rate of reduced-precision HLLs\n"
    },
    {
      "commit": "f78a5ded615d764db254712827e0ac6ef9c7b9cc",
      "tree": "0d81d763907f399d5977e211fa72349761a71b09",
      "parents": [
        "2c051e14c9f8541d28eaa983b14c60e8bece1310"
      ],
      "author": {
        "name": "Martin Rehfeld",
        "email": "martin.rehfeld@glnetworks.de",
        "time": "Thu Oct 16 11:38:54 2014 +0000"
      },
      "committer": {
        "name": "Martin Rehfeld",
        "email": "martin.rehfeld@glnetworks.de",
        "time": "Thu Oct 16 11:38:54 2014 +0000"
      },
      "message": "Support mixed-precision union\n\n... for the hyper_binary default backend only, sorry ;-)\n"
    },
    {
      "commit": "2c051e14c9f8541d28eaa983b14c60e8bece1310",
      "tree": "07e009b46763be345197d1859343d84f96afa7bf",
      "parents": [
        "7301112a1553420deb82bfac729e08f237a9dd73",
        "255220601358e40fd70d70146e951b0ed34577fe"
      ],
      "author": {
        "name": "Christian Lundgren",
        "email": "cav.lundgren@gmail.com",
        "time": "Wed Oct 15 09:58:09 2014 +0200"
      },
      "committer": {
        "name": "Christian Lundgren",
        "email": "cav.lundgren@gmail.com",
        "time": "Wed Oct 15 09:58:09 2014 +0200"
      },
      "message": "Merge pull request #5 from martinrehfeld/master\n\nAdd hyper:precision/1"
    },
    {
      "commit": "255220601358e40fd70d70146e951b0ed34577fe",
      "tree": "07e009b46763be345197d1859343d84f96afa7bf",
      "parents": [
        "7301112a1553420deb82bfac729e08f237a9dd73"
      ],
      "author": {
        "name": "Martin Rehfeld",
        "email": "martin.rehfeld@glnetworks.de",
        "time": "Tue Oct 14 16:26:07 2014 +0200"
      },
      "committer": {
        "name": "Martin Rehfeld",
        "email": "martin.rehfeld@glnetworks.de",
        "time": "Tue Oct 14 16:26:07 2014 +0200"
      },
      "message": "Add hyper:precision/1\n\nProvide a getter for the precision of a HyperLogLog filter."
    },
    {
      "commit": "7301112a1553420deb82bfac729e08f237a9dd73",
      "tree": "0e1177224ff8bba73de2af355fadcc52c3c237f9",
      "parents": [
        "9607042681065879c133f1b419ff363a52d9482e",
        "c3fbbb1f394b957602fb0a165e09ce6ee71bb3ce"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Aug 12 11:25:08 2014 +0200"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Aug 12 11:25:08 2014 +0200"
      },
      "message": "Merge pull request #4 from GameAnalytics/clang_compile\n\nMake compile work with clang"
    },
    {
      "commit": "c3fbbb1f394b957602fb0a165e09ce6ee71bb3ce",
      "tree": "0e1177224ff8bba73de2af355fadcc52c3c237f9",
      "parents": [
        "9607042681065879c133f1b419ff363a52d9482e"
      ],
      "author": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Mon Aug 11 17:42:11 2014 +0200"
      },
      "committer": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Mon Aug 11 17:42:11 2014 +0200"
      },
      "message": "Make compile work with clang\n"
    },
    {
      "commit": "9607042681065879c133f1b419ff363a52d9482e",
      "tree": "13244a22a4de811b87e339646cf0303ed70afa37",
      "parents": [
        "b4e0db592085ebb34c5176d5b369595594e03bfa",
        "efe91f296c89c205c99a1c6f5c6dc48439fd2214"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jul 11 17:25:24 2014 +0200"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jul 11 17:25:24 2014 +0200"
      },
      "message": "Merge pull request #3 from johannesh/hyper_carray\n\nhyper_carray, a hyper_register implemented by a C-array"
    },
    {
      "commit": "efe91f296c89c205c99a1c6f5c6dc48439fd2214",
      "tree": "8cda349c22e8a891b3c871f52d68aa6ad993b3c7",
      "parents": [
        "8b2263204bde21acb079ab72947414a3c90a6a38"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Tue Mar 11 23:19:46 2014 +0100"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Wed Mar 12 23:09:38 2014 +0100"
      },
      "message": "[hyper_carray] K\u0026R and kernel style, added docs\n"
    },
    {
      "commit": "8b2263204bde21acb079ab72947414a3c90a6a38",
      "tree": "e1b6b8a208c51c377eb3f680c3fe842f9147a60c",
      "parents": [
        "e85786153227105ed93d56cd7d1b854028235b5e"
      ],
      "author": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Mon Mar 10 20:49:22 2014 +0100"
      },
      "committer": {
        "name": "Johannes Huning",
        "email": "mail@johanneshuning.com",
        "time": "Mon Mar 10 22:33:21 2014 +0100"
      },
      "message": "hyper_carray, a hyper_register implemented by a C-array\n"
    },
    {
      "commit": "b4e0db592085ebb34c5176d5b369595594e03bfa",
      "tree": "d791e346fff96208f84a8be062b30e85d682a149",
      "parents": [
        "e85786153227105ed93d56cd7d1b854028235b5e",
        "04da7ca86496b40e3d70b890844de4e05cf2ba59"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Mar 07 09:58:35 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Mar 07 09:58:35 2014 +0100"
      },
      "message": "Merge pull request #2 from johannesh/master\n\nTypo in documentation of register_sum callback"
    },
    {
      "commit": "04da7ca86496b40e3d70b890844de4e05cf2ba59",
      "tree": "d791e346fff96208f84a8be062b30e85d682a149",
      "parents": [
        "e85786153227105ed93d56cd7d1b854028235b5e"
      ],
      "author": {
        "name": "Johannes",
        "email": "johannesh@users.noreply.github.com",
        "time": "Thu Mar 06 22:30:38 2014 +0100"
      },
      "committer": {
        "name": "Johannes",
        "email": "johannesh@users.noreply.github.com",
        "time": "Thu Mar 06 22:30:38 2014 +0100"
      },
      "message": "Typo for @doc of register_sum callback"
    },
    {
      "commit": "e85786153227105ed93d56cd7d1b854028235b5e",
      "tree": "66dbf9434f9e27ac7b35522c4821fc1a024b6e6d",
      "parents": [
        "cb563003f21d30c4ae17838fdc78096f7f20d908"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Feb 26 17:54:13 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Feb 26 17:54:13 2014 +0100"
      },
      "message": "Added output from make perf_report.\n"
    },
    {
      "commit": "cb563003f21d30c4ae17838fdc78096f7f20d908",
      "tree": "c3949d1e394476977febcfb12c0fa52fe0689b09",
      "parents": [
        "f4a3657c01b7de8a7d545d77f3c81c7f2c3cb028"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 24 17:22:49 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 24 17:22:49 2014 +0100"
      },
      "message": "Added the MIT license.\n"
    },
    {
      "commit": "f4a3657c01b7de8a7d545d77f3c81c7f2c3cb028",
      "tree": "c4c83f91c23664a8260d36c0376b5fe4b84329c7",
      "parents": [
        "f0cfcaa7ad26d56328ebf6f3ce033ac03a0d2ffd"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 16:01:46 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 16:01:46 2014 +0100"
      },
      "message": "Cleanup of README.\n"
    },
    {
      "commit": "f0cfcaa7ad26d56328ebf6f3ce033ac03a0d2ffd",
      "tree": "df5e0369878fb292b8eaf40c54e87f8093bd7de4",
      "parents": [
        "3959a84bb8362949b1086f166f99ed602763a1c2"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 15:50:36 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 15:50:36 2014 +0100"
      },
      "message": "Cleanup of estimate graphs.\n"
    },
    {
      "commit": "3959a84bb8362949b1086f166f99ed602763a1c2",
      "tree": "97a2ede759af3e55fe4ae834e24d9e5a947ee6ea",
      "parents": [
        "933eb45008d7a8e5af53c5619ef9d5c7cea3e590"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 15:50:22 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 15:50:22 2014 +0100"
      },
      "message": "Measure time of 5 unions.\n"
    },
    {
      "commit": "933eb45008d7a8e5af53c5619ef9d5c7cea3e590",
      "tree": "e89cea4357f3693a317a8453f90348efd6fed349",
      "parents": [
        "b37f4da1df365e9c82e6539dae6ca093dfc4e350"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 15:49:48 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 15:49:48 2014 +0100"
      },
      "message": "Run parts of estimate report in parallel.\n"
    },
    {
      "commit": "b37f4da1df365e9c82e6539dae6ca093dfc4e350",
      "tree": "d8ef0c6fe25f3c01e326f7a65271b84c904e4289",
      "parents": [
        "761e0d8db87c242ebdea3ade324fb781b6e8a316"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 15:49:18 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 15:49:18 2014 +0100"
      },
      "message": "Don\u0027t force compaction before union to allow for more optimizations. Property of unions.\n"
    },
    {
      "commit": "761e0d8db87c242ebdea3ade324fb781b6e8a316",
      "tree": "6d3304f86e32972d15fccc4b003cbefc2f6db6d7",
      "parents": [
        "2a72eca13290c9824ea5956f10b47cf90bd98cec"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 09:46:22 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 20 09:46:22 2014 +0100"
      },
      "message": "Clean up of README.\n"
    },
    {
      "commit": "2a72eca13290c9824ea5956f10b47cf90bd98cec",
      "tree": "e35d7f8e959067ee34e7e76f6da420d4dd2d00b0",
      "parents": [
        "afa32ad047ae742056e2a758cb89b21c5b174ee2"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 18:02:47 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 18:02:47 2014 +0100"
      },
      "message": "Roll v1.0\n"
    },
    {
      "commit": "afa32ad047ae742056e2a758cb89b21c5b174ee2",
      "tree": "cd29da0656c3b37e94ad6fc490ff8ce5cea2ebe5",
      "parents": [
        "f42ac7e4812188628b8b813a44cf5bcb8d3fc70e"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 17:59:01 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 17:59:01 2014 +0100"
      },
      "message": "Cleaned up the estimate report.\n"
    },
    {
      "commit": "f42ac7e4812188628b8b813a44cf5bcb8d3fc70e",
      "tree": "4466885d6dca7c991156c40bed47e0d22d4ca43a",
      "parents": [
        "431f76c04d46b58dcd261a78e6f821f00cc1085f"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 12:37:08 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 12:37:08 2014 +0100"
      },
      "message": "Apply the same optimization to other merges.\n"
    },
    {
      "commit": "431f76c04d46b58dcd261a78e6f821f00cc1085f",
      "tree": "19a0b2102330a98c8a1d4db8bd8ce8df381873db",
      "parents": [
        "752f7a1f44d15eeb387b18d9cca15314a4fcac49"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 12:13:49 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 12:13:49 2014 +0100"
      },
      "message": "Postpone actual merge if merging two buffers results in a small enough new buffer.\n"
    },
    {
      "commit": "752f7a1f44d15eeb387b18d9cca15314a4fcac49",
      "tree": "ef3a7a2efbabe9942ad9166b8154e2590655442c",
      "parents": [
        "b7471c2f50e98fe7af033b916b62d5afc8455375"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 12:13:16 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 12:13:16 2014 +0100"
      },
      "message": "Disable native compilation of hyper_binary as it crashes when reloading.\n"
    },
    {
      "commit": "b7471c2f50e98fe7af033b916b62d5afc8455375",
      "tree": "a0b6dcab6dd3c118dc93761924c7f47e0ddf01c3",
      "parents": [
        "b0a8f421aa7839a445d2f4585cdbf195c6be1f70"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 09:44:51 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 17 09:44:51 2014 +0100"
      },
      "message": "Also merge buffers when merging dense binaries.\n"
    },
    {
      "commit": "b0a8f421aa7839a445d2f4585cdbf195c6be1f70",
      "tree": "21575127e809cd6240b93386409ede86d11d3eb2",
      "parents": [
        "f7aee1d582f59e547f61488f5d59adea50401ead"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 20:46:59 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 20:46:59 2014 +0100"
      },
      "message": "In hyper_binary, merge the buffers to allow for more efficient merges of small into big filters.\n"
    },
    {
      "commit": "f7aee1d582f59e547f61488f5d59adea50401ead",
      "tree": "394716032034b4e016376ae60450fabbfe2b07c0",
      "parents": [
        "9aa13ff7acea4f411721f051cc59f9c13fcc8821"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:44:01 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:44:01 2014 +0100"
      },
      "message": "Run estimate report from Makefile.\n"
    },
    {
      "commit": "9aa13ff7acea4f411721f051cc59f9c13fcc8821",
      "tree": "3893109bb1eae9dbd6b2eb7747158a557757d401",
      "parents": [
        "8dc95b6835c7c68736cd250386f17fd18cc0cb29"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:38:57 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:38:57 2014 +0100"
      },
      "message": "Added more documentation to README.\n"
    },
    {
      "commit": "8dc95b6835c7c68736cd250386f17fd18cc0cb29",
      "tree": "fcd3cbb7f576256c2f3502c636915db89ee6c0d5",
      "parents": [
        "53f7b001d738dc46d43d9233e4c550256feeeb94"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:38:41 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:38:41 2014 +0100"
      },
      "message": "Better tests.\n"
    },
    {
      "commit": "53f7b001d738dc46d43d9233e4c550256feeeb94",
      "tree": "13663b98e0dcc563e6b4356bdb7d8f599ec6bdae",
      "parents": [
        "c4a6a7e56e5d8ef025a51f92fe67da4fb1fdb5fc"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:38:19 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:38:19 2014 +0100"
      },
      "message": "Avoid useless conversion from list to tuple.\n"
    },
    {
      "commit": "c4a6a7e56e5d8ef025a51f92fe67da4fb1fdb5fc",
      "tree": "cf748c6880665e7318292eac76b83178bea8ee5e",
      "parents": [
        "cf04b65008c08cdd6846ef78499cbc4534135a78"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:37:17 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:37:17 2014 +0100"
      },
      "message": "Updated behaviour and cleaned up backends.\n"
    },
    {
      "commit": "cf04b65008c08cdd6846ef78499cbc4534135a78",
      "tree": "616583625f8a6d2c2b04d209d2c13c342e8a6fe1",
      "parents": [
        "077669abeb626e788f0926440328d949192ad5e1"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:36:33 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 16 18:36:33 2014 +0100"
      },
      "message": "More optimizations to hyper_binary. Use an explicit buffer to allow for fast inserts and fast unions for low fill rates.\n"
    },
    {
      "commit": "077669abeb626e788f0926440328d949192ad5e1",
      "tree": "b031960c39b6c46d64ec1a1226e5326648412522",
      "parents": [
        "34c78d50710b48652794f6f56e8e42750cb7d219"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 14 18:59:48 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 14 18:59:48 2014 +0100"
      },
      "message": "Better quickcheck properties. Added first version of hyper_binary_rle backend.\n"
    },
    {
      "commit": "34c78d50710b48652794f6f56e8e42750cb7d219",
      "tree": "59177f410f9d19d1284da1e0be54a0bd7187927c",
      "parents": [
        "0656e94ed60ddf19b164d7aefcc011c23dcf5e61"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 13 15:53:20 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 13 15:55:18 2014 +0100"
      },
      "message": "Optimizations for buffering writes in hyper_binary.\n"
    },
    {
      "commit": "0656e94ed60ddf19b164d7aefcc011c23dcf5e61",
      "tree": "40ff654d5568d6bd1ae3aade5aa39b49b9f04fad",
      "parents": [
        "11d65087918c9d036be786d7893b4fb355129ada"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 13 12:06:49 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Jan 13 15:55:18 2014 +0100"
      },
      "message": "Use (now bug-free) bisect:bulk_insert/2 for merging two bisects.\n"
    },
    {
      "commit": "11d65087918c9d036be786d7893b4fb355129ada",
      "tree": "33b90fb8e9201831c047c42281c4a12c0f888bda",
      "parents": [
        "83769324079d439d1065f8658f0f42dfcc28fed1"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Sat Jan 11 05:28:57 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Sat Jan 11 05:28:57 2014 +0100"
      },
      "message": "In case on extra 0 byte in old serialized filters, ignore it in hyper_bisect and hyper_binary.\n"
    },
    {
      "commit": "83769324079d439d1065f8658f0f42dfcc28fed1",
      "tree": "2013e442463133a79a637e6d06a41f3f6226ecf9",
      "parents": [
        "8d2feef927ec472b444412fa32daa9b22860ffca"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 10 18:51:26 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 10 18:51:26 2014 +0100"
      },
      "message": "Compact the binary structure when it makes sense.\n"
    },
    {
      "commit": "8d2feef927ec472b444412fa32daa9b22860ffca",
      "tree": "863eaad948b6f0640e3a11861759b3c945762a75",
      "parents": [
        "d78ca2f5bcbef57a644591ad7805bc5e28d3ab91"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 10 17:41:26 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 10 17:41:26 2014 +0100"
      },
      "message": "Serialization tests.\n"
    },
    {
      "commit": "d78ca2f5bcbef57a644591ad7805bc5e28d3ab91",
      "tree": "d210536a0feb3ffcef89fc14ec677b2b92490a82",
      "parents": [
        "23dd5b13cbe802fa056299b0a5ed7cf1b6ee108a"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 10 15:53:25 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 10 15:53:25 2014 +0100"
      },
      "message": "Moved tests into separate folder. Added PropEr test of encoding. Moved more logic into backends to allow for more optimizations.\n"
    },
    {
      "commit": "23dd5b13cbe802fa056299b0a5ed7cf1b6ee108a",
      "tree": "00c08c30cb5f18fb9f0a3316c96ec029f1474006",
      "parents": [
        "1392b478028ee8a4f8b0fc4143e021c6e656c480"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 10 11:38:35 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Jan 10 11:38:35 2014 +0100"
      },
      "message": "Moved more heavy lifting into the backend module to allow for more optimizations. Introduced hyper_binary, using a fixed size binary as an array.\n"
    },
    {
      "commit": "1392b478028ee8a4f8b0fc4143e021c6e656c480",
      "tree": "775e31fa9f3db70efb4567f1efb5346a9d4b118f",
      "parents": [
        "758ccf37b70a52e508b6b41ae8ca23b6e7c89575"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 09 09:48:13 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 09 09:48:13 2014 +0100"
      },
      "message": "Fixed incorrect merge.\n"
    },
    {
      "commit": "758ccf37b70a52e508b6b41ae8ca23b6e7c89575",
      "tree": "bf1472144fdf2726deda02f36c0694d57858532f",
      "parents": [
        "c333418e463ce9563f27b302df217762852b0c63"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 09 09:36:26 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Thu Jan 09 09:36:26 2014 +0100"
      },
      "message": "Faster unions for bisect, repeated runs of timed tests.\n"
    },
    {
      "commit": "c333418e463ce9563f27b302df217762852b0c63",
      "tree": "d9f3a4738ff95df29cd334036f5065133bb7bd4d",
      "parents": [
        "83dead772ed7b4a7d2a3e47944acc7fb0b5d2d62"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Jan 08 13:42:00 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Jan 08 13:42:00 2014 +0100"
      },
      "message": "More tests of backends.\n"
    },
    {
      "commit": "83dead772ed7b4a7d2a3e47944acc7fb0b5d2d62",
      "tree": "a0e96d248579850319b606ac0d65a9dfad64c075",
      "parents": [
        "b5259c0cc5e0e52d47bdf127221a881dc07d93d8"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Jan 08 12:26:37 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Jan 08 12:26:37 2014 +0100"
      },
      "message": "Export from_json/2\n"
    },
    {
      "commit": "b5259c0cc5e0e52d47bdf127221a881dc07d93d8",
      "tree": "ec9ae6c1b01218fadfdd11c866642661174b3f5a",
      "parents": [
        "f5f34f6f2fbcec589ee003529fa3cb70ec4866f7"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Jan 08 12:11:49 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Jan 08 12:11:49 2014 +0100"
      },
      "message": "Size in bytes.\n"
    },
    {
      "commit": "f5f34f6f2fbcec589ee003529fa3cb70ec4866f7",
      "tree": "6681d6f029beef60dd5513f2683a98dd5b50f68b",
      "parents": [
        "6a29cefcc7f68ec4828ec73c5f4b4a33b6066244"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Jan 08 11:23:44 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Wed Jan 08 11:23:44 2014 +0100"
      },
      "message": "Smarter union for dense and sparse bisect.\n"
    },
    {
      "commit": "6a29cefcc7f68ec4828ec73c5f4b4a33b6066244",
      "tree": "24087a78330f75c57f178f9523c954e37c3bd211",
      "parents": [
        "7c8b9328d0f52586d0b5f57047b1143921ded8c0"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 19:33:35 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 19:33:35 2014 +0100"
      },
      "message": "Measure card/1\n"
    },
    {
      "commit": "7c8b9328d0f52586d0b5f57047b1143921ded8c0",
      "tree": "e03c8dda9f605628a14739b0fe61bd92be31afd5",
      "parents": [
        "aa008128216fb1d3e323df77a53e5624e66b3e47"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 19:14:46 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 19:14:46 2014 +0100"
      },
      "message": "Start of README.\n"
    },
    {
      "commit": "aa008128216fb1d3e323df77a53e5624e66b3e47",
      "tree": "37ea99bf197fd018ddcfd999739e0d10a36f28af",
      "parents": [
        "03208237eeaf467a59f0c3ba6c15b9cd51bf44df"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 19:14:41 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 19:14:41 2014 +0100"
      },
      "message": "Union test with bigger cardinality.\n"
    },
    {
      "commit": "03208237eeaf467a59f0c3ba6c15b9cd51bf44df",
      "tree": "f98175b38f8e7a4a5b39211adf622546bfbec496",
      "parents": [
        "f426fb8f6a16fb78c81dd6ebd14c9e42e7882193"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 18:59:36 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 18:59:36 2014 +0100"
      },
      "message": "More cardinalities, use the same seed.\n"
    },
    {
      "commit": "f426fb8f6a16fb78c81dd6ebd14c9e42e7882193",
      "tree": "224714365b1d1cd6ac1fd3fd16b018c60cd03feb",
      "parents": [
        "2007b6efd682ea6cf17806ef1e933fcc32cd7696"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 18:45:22 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 18:45:22 2014 +0100"
      },
      "message": "Switch to plain dense representation when it would use less memory.\n"
    },
    {
      "commit": "2007b6efd682ea6cf17806ef1e933fcc32cd7696",
      "tree": "479ca67ed7dc641609e1c7d93dc79e35e66840e3",
      "parents": [
        "6db3b0c5b86a1cad89583fe3b4fffe9916f3ad4d"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 17:10:59 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 17:10:59 2014 +0100"
      },
      "message": "Let backend decide on merge strategy.\n"
    },
    {
      "commit": "6db3b0c5b86a1cad89583fe3b4fffe9916f3ad4d",
      "tree": "65041fcc9d3d525b6266269863a39dc9acfdfe48",
      "parents": [
        "2e25dc29524dddb5d5f316567184b07c2f1cbd8a"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 15:25:27 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 15:25:27 2014 +0100"
      },
      "message": "perf report.\n"
    },
    {
      "commit": "2e25dc29524dddb5d5f316567184b07c2f1cbd8a",
      "tree": "b8dfcce08d5d84763368486e6dfdaabec44c10f0",
      "parents": [
        "a7b548755b4fa0f4a00c194ad76fbcd333e73651"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 15:25:12 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 15:25:12 2014 +0100"
      },
      "message": "bisect backend.\n"
    },
    {
      "commit": "a7b548755b4fa0f4a00c194ad76fbcd333e73651",
      "tree": "c4de358d9b71596cd40ed71d85e1748e5accbfdd",
      "parents": [
        "148a37ba2a65575a2ffaba58bf9da5d049e83a21"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 14:42:06 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 14:42:06 2014 +0100"
      },
      "message": "make size_report\n"
    },
    {
      "commit": "148a37ba2a65575a2ffaba58bf9da5d049e83a21",
      "tree": "2a2b24fb4cafd53ddba891779206a6bd46ec5e97",
      "parents": [
        "be32c9baff955fff926f56eac5e583ba29e145c0"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 14:41:52 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 14:41:52 2014 +0100"
      },
      "message": "Array backend.\n"
    },
    {
      "commit": "be32c9baff955fff926f56eac5e583ba29e145c0",
      "tree": "ead20b28f796aa2689564035da335a75ef0bc144",
      "parents": [
        "12133629f934cea112bafe3f0a1619109708c4a5"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 14:03:32 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 14:03:32 2014 +0100"
      },
      "message": "Pluggable register data structure.\n"
    },
    {
      "commit": "12133629f934cea112bafe3f0a1619109708c4a5",
      "tree": "4a0e61208487eab4949c9659334af5cae11ef2ab",
      "parents": [
        "03c5e2f0be3b3405308dabe286ef433ede8d3e8b"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 13:31:20 2014 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Tue Jan 07 13:31:20 2014 +0100"
      },
      "message": "Minor cleanup of tests.\n"
    },
    {
      "commit": "03c5e2f0be3b3405308dabe286ef433ede8d3e8b",
      "tree": "54b5bf53cc59941a39a38be64a93801a6719ee97",
      "parents": [
        "dae08b9b10542decf2379fdca6b33ff49a9214cc"
      ],
      "author": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Mon Dec 09 23:14:39 2013 +0100"
      },
      "committer": {
        "name": "Christian Lundgren",
        "email": "christian.lundgren@gameanalytics.com",
        "time": "Mon Dec 09 23:19:07 2013 +0100"
      },
      "message": "Use tail recursive helper functions instead of lists:map + lists:seq\n"
    },
    {
      "commit": "dae08b9b10542decf2379fdca6b33ff49a9214cc",
      "tree": "0dbd351d98349e5a15d482da7215945d071b29e6",
      "parents": [
        "9af03da2c8f17da91f615fd0a568deb65c1e3035"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Nov 18 11:53:22 2013 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Mon Nov 18 11:53:22 2013 +0100"
      },
      "message": "Registers using gb_trees.\n"
    },
    {
      "commit": "9af03da2c8f17da91f615fd0a568deb65c1e3035",
      "tree": "7627d01b367f7bad5b566532ba739d39a36f01d6",
      "parents": [
        "787daa7c45067d48fe7942c4e8d753770c562ed0"
      ],
      "author": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Nov 15 17:37:16 2013 +0100"
      },
      "committer": {
        "name": "Knut Nesheim",
        "email": "knutin@gmail.com",
        "time": "Fri Nov 15 17:37:16 2013 +0100"
      },
      "message": "Performance improvement to union: don\u0027t write back the same value.\n"
    }
  ],
  "next": "787daa7c45067d48fe7942c4e8d753770c562ed0"
}
