)]}'
{
  "commit": "dc6109e0c8b2f6ba0fde389050ff6de6c9a082e7",
  "tree": "b1f4f7c4cf7feb61a0c9ed9f68ca2ded4b39ed3b",
  "parents": [
    "530cd52f585c9d31b2b28cea7e53915af7a878e3"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Tue Sep 13 18:34:27 2022 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Sep 13 18:35:14 2022 -0700"
  },
  "message": "Implement Eisel-Lemire for from_chars\u003cdouble\u003e\n\nEisel-Lemire is a fast Atod algorithm, discussed at\nhttps://nigeltao.github.io/blog/2020/eisel-lemire.html\n\nMedian of 5 runs of \"time atod_manual_test pnftd/data/*.txt\"\nuser    0m1.477s  # Before\nuser    0m0.746s  # After (a speed-up of 1.98x)\nwhere pnftd is https://github.com/nigeltao/parse-number-fxx-test-data\n\n\"benchy --reference\u003dsrcfs --benchmark_filter\u003d\u0027SimpleAtod\u0027 :numbers_benchmark\"\noutput (which uses deterministic but randomly generated input strings):\nname                                    old cpu/op  new cpu/op  delta\nBM_SimpleAtod\u003cabsl::string_view\u003e/10/1   388ns ± 3%   330ns ± 2%  -15.06%  (p\u003d0.000 n\u003d49+44)\nBM_SimpleAtod\u003cabsl::string_view\u003e/10/2   428ns ± 3%   320ns ± 2%  -25.07%  (p\u003d0.000 n\u003d59+49)\nBM_SimpleAtod\u003cabsl::string_view\u003e/10/4   431ns ± 3%   353ns ± 4%  -18.04%  (p\u003d0.000 n\u003d59+48)\nBM_SimpleAtod\u003cabsl::string_view\u003e/10/8   512ns ± 3%   409ns ± 4%  -20.18%  (p\u003d0.000 n\u003d60+56)\nBM_SimpleAtod\u003cconst char*\u003e/10/1         411ns ± 4%   341ns ± 3%  -17.15%  (p\u003d0.000 n\u003d51+49)\nBM_SimpleAtod\u003cconst char*\u003e/10/2         431ns ± 3%   356ns ± 2%  -17.44%  (p\u003d0.000 n\u003d58+48)\nBM_SimpleAtod\u003cconst char*\u003e/10/4         437ns ± 3%   378ns ± 4%  -13.49%  (p\u003d0.000 n\u003d60+50)\nBM_SimpleAtod\u003cconst char*\u003e/10/8         552ns ± 2%   450ns ± 4%  -18.43%  (p\u003d0.000 n\u003d59+59)\nBM_SimpleAtod\u003cstd::string\u003e/10/1         404ns ± 2%   328ns ± 2%  -18.78%  (p\u003d0.000 n\u003d48+49)\nBM_SimpleAtod\u003cstd::string\u003e/10/2         438ns ± 3%   321ns ± 3%  -26.81%  (p\u003d0.000 n\u003d60+50)\nBM_SimpleAtod\u003cstd::string\u003e/10/4         446ns ± 2%   354ns ± 3%  -20.66%  (p\u003d0.000 n\u003d59+50)\nBM_SimpleAtod\u003cstd::string\u003e/10/8         519ns ± 2%   410ns ± 4%  -21.07%  (p\u003d0.000 n\u003d59+50)\n\nsizeof(kPower10MantissaTable) doubles from 5208 to 10416 bytes.\n\nPiperOrigin-RevId: 474174891\nChange-Id: Iea6f6569419b6b55ab5978994f0adb1f4a8aafb2\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "65d1beb1870624a0f75ba06b032bc23fe2fdc096",
      "old_mode": 33188,
      "old_path": "absl/strings/charconv.cc",
      "new_id": "9eac9be61a90392973230cd9c4f339fffdf75bfc",
      "new_mode": 33188,
      "new_path": "absl/strings/charconv.cc"
    },
    {
      "type": "modify",
      "old_id": "04e4bd2ab48e09427d6d34305634a1977074ae1f",
      "old_mode": 33188,
      "old_path": "absl/strings/numbers_test.cc",
      "new_id": "41e95b80b773df7dace08f956b405b61f7be0600",
      "new_mode": 33188,
      "new_path": "absl/strings/numbers_test.cc"
    }
  ]
}
