)]}'
{
  "commit": "e1fabbb86c2558b336b83de443a4fde4b2a8db90",
  "tree": "901bc9ebd8070f59f9ebdd6075e857c346f50fec",
  "parents": [
    "bf19277c341e6c1b94046c628c0e6d0f0b20d536"
  ],
  "author": {
    "name": "Denis Ovsienko",
    "email": "infrastation@yandex.ru",
    "time": "Sun Dec 04 23:21:55 2011 +0400"
  },
  "committer": {
    "name": "Denis Ovsienko",
    "email": "infrastation@yandex.ru",
    "time": "Mon Jan 02 17:10:42 2012 +0400"
  },
  "message": "lib: optimize ip_masklen()\n\nThe new implementation makes use of a 64KB mapping table, which makes it\npossible to compute masklen faster and with constant execution time. The\nmap also allows for additional version of the function, which can detect\nerrors in input argument.\n\nThe previous implementation had a variable cost of execution, which\ndepended on masklen in a non-linear manner, and at its worst (/31) was\n4 times slower, than the new implementation. The only case of old\nfunction just slightly outperforming the new one is /0, which is of\nlittle practical interest.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f4b0c4f17c170e171a3b13a155c592a9f014a1f5",
      "old_mode": 33188,
      "old_path": "lib/prefix.c",
      "new_id": "19a52610931270c0cd16cb6d2f046b8edef5c15d",
      "new_mode": 33188,
      "new_path": "lib/prefix.c"
    }
  ]
}
