)]}'
{
  "commit": "71d638ef327b04a019a1014ae638745d82679042",
  "tree": "d0dec22184e7b690ab70a51722cc0953dfd90bb7",
  "parents": [
    "2ffddaccfe5905957ce2ecad26e3b360107fd49c"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Jul 19 17:32:44 2019 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Aug 05 07:15:41 2019 -0700"
  },
  "message": "Add a specialized schur eliminator.\n\nAdd a new specialized Schur Eliminator for the case where there is\nexactly one F block and all dimensions are known at compile time.\n\nBenchmark on my macbook shoes ~3x speedup for Eliminate and 4x speedup for BackSubstitute.\nSimilar speedups are observed on other platforms.\n\n------------------------------------------------------------------------------------------\nBenchmark                                                   Time           CPU Iterations\n------------------------------------------------------------------------------------------\nBM_SchurEliminatorEliminate/10                           4176 ns       4132 ns     153522\nBM_SchurEliminatorEliminate/64                          24392 ns      24234 ns      29993\nBM_SchurEliminatorEliminate/512                        169632 ns     168709 ns       3872\nBM_SchurEliminatorEliminate/4096                      1296407 ns    1292873 ns        519\nBM_SchurEliminatorEliminate/10000                     3159652 ns    3149532 ns        216\nBM_SchurEliminatorForOneFBlockEliminate/10               1187 ns       1184 ns     603953\nBM_SchurEliminatorForOneFBlockEliminate/64               7917 ns       7898 ns      87558\nBM_SchurEliminatorForOneFBlockEliminate/512             57629 ns      57485 ns      12035\nBM_SchurEliminatorForOneFBlockEliminate/4096           484680 ns     480757 ns       1459\nBM_SchurEliminatorForOneFBlockEliminate/10000         1157237 ns    1150735 ns        566\nBM_SchurEliminatorBackSubstitute/10                       681 ns        679 ns    1070500\nBM_SchurEliminatorBackSubstitute/64                      3899 ns       3887 ns     182883\nBM_SchurEliminatorBackSubstitute/512                    33632 ns      33467 ns      22582\nBM_SchurEliminatorBackSubstitute/4096                  241117 ns     240257 ns       2884\nBM_SchurEliminatorBackSubstitute/10000                 631869 ns     626992 ns       1146\nBM_SchurEliminatorForOneFBlockBackSubstitute/10           139 ns        138 ns    5021341\nBM_SchurEliminatorForOneFBlockBackSubstitute/64           898 ns        892 ns     780396\nBM_SchurEliminatorForOneFBlockBackSubstitute/512         7344 ns       7286 ns      87059\nBM_SchurEliminatorForOneFBlockBackSubstitute/4096       57634 ns      57345 ns      11642\nBM_SchurEliminatorForOneFBlockBackSubstitute/10000     153129 ns     152320 ns       4949\n\nChange-Id: Iae64e96c91beb44b807df0e0572d202df7cdaed8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "22b5d073d5e51934779eb8492346c8769489a5b2",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "e452f4854451495e4689cea4080aff44de8e75fe",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "52e3535c92883477c6a52f07e9dc766b7828e094",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_eliminator.h",
      "new_id": "7dfc1604a70a7fabf8373da0d634668bea2ade76",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9dcc77fa2d260565d9bf3debc962eca0c345a2b7",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator_benchmark.cc"
    },
    {
      "type": "modify",
      "old_id": "2e8492f924912fd38527875a94972415126b47f9",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_eliminator_test.cc",
      "new_id": "645b25af6b471cef13d02172e27893eedb0c193f",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator_test.cc"
    }
  ]
}
