)]}'
{
  "commit": "080d1d04bdf722c3f602833c4c07ac1c5d26fcc0",
  "tree": "c9df4dd6b90863a523d56eac99edaa588e11106d",
  "parents": [
    "fb465a03b83fad2dceaea091ee3763c3dc6e83d2"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Aug 12 16:28:37 2013 -0700"
  },
  "committer": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Tue Aug 13 21:27:55 2013 +0000"
  },
  "message": "Use more performant, less conservative Eigen solvers.\n\ncolPivHouseholderQR -\u003e householderQR\nldlt -\u003e llt.\n\nThe resulting performance differences are significant enough\nto justify switching.\n\nLAPACK\u0027s dgels routine used for solving linear least squares\nproblems does not use pivoting either.\n\nSimilarly, we are not actually using the fact that the matrix\nbeing factorized can be indefinite when using LDLT factorization, so\nits not clear that the performance hit is worth it.\n\nThese two changes result in Eigen being able to use blocking\nalgorithms, which for Cholesky factorization, brings the performance\ncloser to hardware optimized LAPACK. Similarly for dense QR\nfactorization, on intel there is a 2x speedup.\n\nChange-Id: I4459ee0fc8eb87d58e2b299dfaa9e656d539dc5e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "749e0b65ddc5b3615a25e7e7ff8b71f55ef6a58b",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_jacobi_preconditioner.cc",
      "new_id": "29974d45bc94e9ff886eb28798f79522fdd93a73",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_jacobi_preconditioner.cc"
    },
    {
      "type": "modify",
      "old_id": "96f55115a674c5dd3115c142c448a8cad39ad828",
      "old_mode": 33188,
      "old_path": "internal/ceres/dense_normal_cholesky_solver.cc",
      "new_id": "8e05dcc127e5150bf5f7a21545d120271341844e",
      "new_mode": 33188,
      "new_path": "internal/ceres/dense_normal_cholesky_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "1fb9709b42aec0f099d5315a3e5a878958a7d48e",
      "old_mode": 33188,
      "old_path": "internal/ceres/dense_qr_solver.cc",
      "new_id": "4ab75abcceb56f088784ddae34761eb04477a0e3",
      "new_mode": 33188,
      "new_path": "internal/ceres/dense_qr_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "7c934fb8873937b8fc5e3d04e038898022e37094",
      "old_mode": 33188,
      "old_path": "internal/ceres/implicit_schur_complement.cc",
      "new_id": "32722bb6e8f32fad304f449c04e1b14d3c88fbc7",
      "new_mode": 33188,
      "new_path": "internal/ceres/implicit_schur_complement.cc"
    },
    {
      "type": "modify",
      "old_id": "bd36672b692c58120609f51fdb56f5af7d261c5c",
      "old_mode": 33188,
      "old_path": "internal/ceres/implicit_schur_complement_test.cc",
      "new_id": "1694273cceb0cee25d523308261df6dd7697b928",
      "new_mode": 33188,
      "new_path": "internal/ceres/implicit_schur_complement_test.cc"
    },
    {
      "type": "modify",
      "old_id": "09f61d717dad8ca2cc3b3e9500833674d1d44743",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver.cc",
      "new_id": "0df93041928c4c2fa22881724f93ef1266493f98",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "a7e96ae9e4610efc5402d5041c55412bdcd730c5",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_eliminator_test.cc",
      "new_id": "bed8f3a2671c12902692425b798ec6fecacbe80f",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator_test.cc"
    },
    {
      "type": "modify",
      "old_id": "aa840c572d11ec6671b3abe938e6213ec0efec2b",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_jacobi_preconditioner.cc",
      "new_id": "338df715c0a7d333c724018d39bdabc6dfc43221",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_jacobi_preconditioner.cc"
    },
    {
      "type": "modify",
      "old_id": "53d10e1ff13bd41ad1cf28a1ce9d996d0b440bdd",
      "old_mode": 33188,
      "old_path": "internal/ceres/visibility_based_preconditioner_test.cc",
      "new_id": "2edbb187e403440bb0148b4e7d126dd86887bd64",
      "new_mode": 33188,
      "new_path": "internal/ceres/visibility_based_preconditioner_test.cc"
    }
  ]
}
