)]}'
{
  "commit": "852473b5f84ffdf2dc0c80ae656bfa424d456653",
  "tree": "ba903341079cc4f97ab815a2257fb9d97ff1c193",
  "parents": [
    "e9009829b5d64ba221ea931693942994a225a877"
  ],
  "author": {
    "name": "Mike Vitus",
    "email": "vitus@google.com",
    "time": "Thu Nov 16 16:40:23 2017 -0800"
  },
  "committer": {
    "name": "Mike Vitus",
    "email": "vitus@google.com",
    "time": "Thu Dec 07 15:00:50 2017 -0800"
  },
  "message": "Changes TBB to use tbb::task_arena instead of tbb::task_scheduler_init.\n\nFixes the current implementation where the desired number of threads may\nnot be honored if another tbb::task_scheduler_init is instantiated. We\nare using tbb::task_arena to solve this which is only available in newer\nversions of TBB.\n\nAlso increases the performance by not creating/destroying the TBB setup\nvia tbb::task_scheduler_init on every iteration evaluation. This\nincreases the performance in single threaded mode using TBB by 10x.\n\nBy not specifically calling tbb::task_scheduler_init, this will either\nrespect any active tbb::task_scheduler_init instantiations or use the\ndefault TBB settings which is hardware dependent. Ceres will honor the\nuser\u0027s requested number of threads through the task_arenas.\n\nTested via compiling with TBB enabled and ran the unit tests.\n\nChange-Id: I5538407563449cdb5a0eaf8b8ccab62263912110\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "77e3bbf647eede1d3290bf03d5dec09eb9e8b34a",
      "old_mode": 33188,
      "old_path": "internal/ceres/coordinate_descent_minimizer.cc",
      "new_id": "df9c41f60d4b416b632e6f119b31e90f337618ee",
      "new_mode": 33188,
      "new_path": "internal/ceres/coordinate_descent_minimizer.cc"
    },
    {
      "type": "modify",
      "old_id": "81b3ba1b6b8b07e35a3a0ad5534c84f19a7cf06a",
      "old_mode": 33188,
      "old_path": "internal/ceres/covariance_impl.cc",
      "new_id": "f2a345d10b1393cf05a5e0442c7b539e283f9ea5",
      "new_mode": 33188,
      "new_path": "internal/ceres/covariance_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "6049d942b25c3b9f91ea92d8ce8aa8626c4c5e8d",
      "old_mode": 33188,
      "old_path": "internal/ceres/program_evaluator.h",
      "new_id": "a625b23905e20fc7b21e107a2ad7c4d702674a1a",
      "new_mode": 33188,
      "new_path": "internal/ceres/program_evaluator.h"
    },
    {
      "type": "modify",
      "old_id": "01409fd51ae3c271f1eed1700174660637deb431",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_eliminator_impl.h",
      "new_id": "1bc4d8e7be96ebf9456ccec397e0751fe1998da8",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator_impl.h"
    }
  ]
}
