)]}'
{
  "commit": "258951beeb81ad4d3dee1e09cfdcb0b8335db1bc",
  "tree": "378b0b388844aff4a00025a11524891d3190c766",
  "parents": [
    "ae3d249496eddd6b92933eee61360eaa5c144a50"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Sat Oct 10 11:29:51 2026 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Thu Oct 22 15:32:59 2026 -0700"
  },
  "message": "Streamline ArraySelector, VariadicEvaluate, and perturbation seeding\n\n- In ArraySelector, collapse the two absl::FixedArray specializations\n  into a single specialization, replace release-mode CHECK_EQ with\n  DCHECK, use absl::FixedArray\u003cT, 0\u003e instead of std::vector\u003cT\u003e for the\n  heap fallback, and add a fill-value constructor so residual Jet arrays\n  are initialized to kImpossibleValue in a single pass.\n- Simplify VariadicEvaluateImpl to expand functor(input[Is]..., output)\n  directly via std::index_sequence, removing the intermediate\n  std::array copy and std::apply/std::invoke wrappers, and mark hot\n  helpers EIGEN_STRONG_INLINE.\n- In Make1stOrderPerturbation, rely on dst[i].v being zero-initialized\n  on entry by Jet\u0027s default constructor (checked with DCHECK) and assign\n  dst[i].a and dst[i].v[i + Offset] in-place instead of constructing a\n  temporary JetT and re-zeroing v.\n\nBenchmark (Apple M1 Pro, kAutoDiff, kResidualsAndJacobians):\n----------------------------------------------------------------------\nBenchmark                                     Before    After   Change\n----------------------------------------------------------------------\nSnavelyReprojectionError                      136 ns  78.4 ns   -42.4%\nPhotometricError\u003c8\u003e                           901 ns   748 ns   -17.0%\nRelativePoseError                             248 ns   130 ns   -47.6%\nBrdf                                          827 ns   255 ns   -69.2%\nColmapOpenCVReprojectionError                 185 ns  61.7 ns   -66.6%\nColmapFullOpenCVReprojectionError             263 ns  86.2 ns   -67.2%\nColmapRigReprojectionError                    391 ns   134 ns   -65.7%\nColmapSampsonError                            100 ns  86.2 ns   -13.8%\nColmapFisheyeReprojectionError                209 ns  84.6 ns   -59.5%\nColmapSphericalReprojectionError             86.1 ns  46.5 ns   -46.0%\nLibmvBrownReprojectionError                   225 ns  98.7 ns   -56.1%\nLibmvNukeInvertReprojectionError              228 ns  82.8 ns   -63.7%\nPoseGraph3dError                              249 ns   139 ns   -44.2%\nRosenbrockFirstOrderFunctor\u003c4\u003e               10.8 ns  7.96 ns   -26.3%\nRosenbrockFirstOrderFunctor\u003c16\u003e               188 ns   163 ns   -13.3%\nRosenbrockFirstOrderFunctor\u003c24\u003e               399 ns   367 ns    -8.0%\n----------------------------------------------------------------------\n\nChange-Id: I0d3af3eb31b476a8fc5703bbbd529d3fb292ac98\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fbd669a97203645573b4e8be773a4d8c4adf91b3",
      "old_mode": 33188,
      "old_path": "include/ceres/autodiff_first_order_function.h",
      "new_id": "766150907b6b5ac2bd42a030b9dfebaecf522be0",
      "new_mode": 33188,
      "new_path": "include/ceres/autodiff_first_order_function.h"
    },
    {
      "type": "modify",
      "old_id": "fd56a603eb9953f862eb0a77d9df642554f0c570",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/array_selector.h",
      "new_id": "cc940f996afe1063eb4c35efcf6f5dc14429b97b",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/array_selector.h"
    },
    {
      "type": "modify",
      "old_id": "5317aff1b36475aa2ff7b6ca37342d87f79d0ca1",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/autodiff.h",
      "new_id": "e54585a688a6d27f2d2c6b86826b2400e9a56405",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/autodiff.h"
    },
    {
      "type": "modify",
      "old_id": "3024a5f97b97a5c4fb62b10416077dd59d7b2647",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/parameter_dims.h",
      "new_id": "c6f0ab4ef3307bc20553006966d01f00d8e95023",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/parameter_dims.h"
    },
    {
      "type": "modify",
      "old_id": "133ba3af2f4c9a8df2a930349654584435cd71f6",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/variadic_evaluate.h",
      "new_id": "041b2f8db53ba169034af608a17685fee1a1e0ce",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/variadic_evaluate.h"
    },
    {
      "type": "modify",
      "old_id": "0b6c893b59eeb03b73627ccaafe13f99d680b9e3",
      "old_mode": 33188,
      "old_path": "internal/ceres/array_selector_test.cc",
      "new_id": "434f0b3377efc3c5e060742c2e12d59597936867",
      "new_mode": 33188,
      "new_path": "internal/ceres/array_selector_test.cc"
    }
  ]
}
