)]}'
{
  "commit": "7b2717582ac985571bafd0f2975428501180bf06",
  "tree": "92e10bd421ea8b6c572841d07cd705713a4ca049",
  "parents": [
    "f408f89e8b024ed97b33c7226b0ce48efd42408f"
  ],
  "author": {
    "name": "Mike Vitus",
    "email": "vitus@google.com",
    "time": "Fri Feb 23 17:18:21 2018 -0800"
  },
  "committer": {
    "name": "Mike Vitus",
    "email": "vitus@google.com",
    "time": "Mon Feb 26 16:12:03 2018 -0800"
  },
  "message": "Adds C++11 parallel for implementation.\n\nImplements ParallelFor using the C++11 based ThreadPool.  The C++11\nparallel for is 50-70% faster than single threaded, and 20-30% slower\nthan TBB.\n\nTested by compiling with OpenMP, TBB, and C++11 Threading support and\nran the unit tests.  Ran bazel as well.\n\nChange-Id: I7fd6c9037ff9f200ce6999b5f39918995bb6b8ea\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "88410f237334f8439a3a61be1bf4a6bd441d54e4",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "f0a7495f9634c2056849773c1fd305498b656a93",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "f0660f167c9fdb0d383d2d29326be416fb49eeb8",
      "old_mode": 33188,
      "old_path": "bazel/ceres.bzl",
      "new_id": "090707d389cbfb7a80f7c0504f7ad2513497870e",
      "new_mode": 33188,
      "new_path": "bazel/ceres.bzl"
    },
    {
      "type": "modify",
      "old_id": "792e3156a780cc29f41db39bccb2f5b77814b91f",
      "old_mode": 33188,
      "old_path": "cmake/config.h.in",
      "new_id": "032db42225d2fb5961de3b93ca1da05a567d9be5",
      "new_mode": 33188,
      "new_path": "cmake/config.h.in"
    },
    {
      "type": "modify",
      "old_id": "652f6fbb9804e227c2dc4c40f4b2c6b0c59d0c32",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/port.h",
      "new_id": "b567fd5e2b17c03144c36c65a9db08c90459119a",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/port.h"
    },
    {
      "type": "modify",
      "old_id": "c13e041c441aee544c4b652d9e14336660543e3c",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "92d8cd360ed7478b4db21bf132eb15595be4202d",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f03ddb278cbab70aa0911973c28408ffee418072",
      "new_mode": 33188,
      "new_path": "internal/ceres/parallel_for_cxx.cc"
    },
    {
      "type": "modify",
      "old_id": "5648d4d8afd8e10ee0fb4aa790be170be694d932",
      "old_mode": 33188,
      "old_path": "internal/ceres/thread_token_provider.cc",
      "new_id": "61a16e080a51e913d6e56d4db6d6d937e02cdf52",
      "new_mode": 33188,
      "new_path": "internal/ceres/thread_token_provider.cc"
    },
    {
      "type": "modify",
      "old_id": "209445d1fb8c9dd88a62aea2bfed6c9d761ba9b4",
      "old_mode": 33188,
      "old_path": "internal/ceres/thread_token_provider.h",
      "new_id": "841d31273d0e4fe11d93ec8b932e7f1e57de877f",
      "new_mode": 33188,
      "new_path": "internal/ceres/thread_token_provider.h"
    }
  ]
}
