)]}'
{
  "commit": "eb6cc29583f0c2ab30f612dd0bdcfad163a569b0",
  "tree": "b8e75877a0e5489838477bea1fff0bd647ae0e58",
  "parents": [
    "776960024585b907acc4abc3c59aef605941bb75"
  ],
  "author": {
    "name": "Ilya Tokar",
    "email": "tokarip@google.com",
    "time": "Fri Feb 14 16:02:57 2020 -0500"
  },
  "committer": {
    "name": "Ilya Tokar",
    "email": "tokarip@google.com",
    "time": "Fri Feb 14 16:02:57 2020 -0500"
  },
  "message": "Avoid a division in NonBlockingThreadPool::Steal.\n\nLooking at profiles we spend ~10-20% of Steal on simply computing\nrandom % size. We can reduce random 32-bit int into [0, size) range with\na single multiplication and shift. This transformation is described in\nhttps://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9353f41e2d66030c7aa8a30b11de3ff41bc2bf8e",
      "old_mode": 33188,
      "old_path": "unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h",
      "new_id": "43a27465191cc6180ba3f07d90bec9732509f192",
      "new_mode": 33188,
      "new_path": "unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h"
    }
  ]
}
