)]}'
{
  "log": [
    {
      "commit": "e8693e78711e8f45ccd2b610e4dbe0b94d551cc9",
      "tree": "5b7a67244a6a122e27fca20f84d0a4f78d487fe2",
      "parents": [
        "9aa6b15d799ac246e842552fca555920a93ce46b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 22 13:43:59 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 22 13:43:59 2020 -0700"
      },
      "message": "Make more use of benchmark::DoNotOptimize in benchmarks.\n\nA lot of these benchmarks predate DoNotOptimize and rolled their own\nhacks.\n\nBug: http://b/148307629\nTest: ran benchmarks before \u0026 after and got similar results\nChange-Id: If44699d261b687f6253af709edda58f4c90fb285\n"
    },
    {
      "commit": "e466cc0d5548472e6e78c9994e3c2c982157b549",
      "tree": "00b4ee9139f27133c49e141813983c620f161cca",
      "parents": [
        "d1214b0c688906d2a97c29fa1700723f31b51eb8"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Aug 21 12:55:37 2018 -0700"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Aug 21 21:04:43 2018 +0000"
      },
      "message": "Add benchmark for strncmp\n\nTest: run benchmark\nChange-Id: Id99d81fe4d2a72a7f22414c7eea3ef3d873022ab\n"
    },
    {
      "commit": "e2188d460b9356b84ec3a9113f03f0dd7ff43d32",
      "tree": "35c8d707b9833ec426cf5c442f60a5e4e4779bcd",
      "parents": [
        "fdacec1d4237373354d10c5a400c9c7a3a975285"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 08 23:28:57 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 30 15:49:45 2017 -0800"
      },
      "message": "Add new benchmark options.\n\nAdd a bunch of extra options to allow greater flexibility for creating\nbenchmarks. Add a pattern option that can be used to represent any\none buffer or two buffer possibility. This should fully replace the\nfunctionality of microbench.\n\nAdd a single option for one buffer benchmarks and two buffer benchmarks\nthat represents all of the possible options to run a string benchmark.\n\nAdd a string test suite that includes all string benchmarks using the\nabove option.\n\nTest: New unit tests to cover all the new options, and all pass.\nTest: Ran new string test suite with a single bionic iteration.\nChange-Id: Idb13ea15e44cec626e9f46672ccd648d7ca72ba6\n"
    },
    {
      "commit": "858e33698d947a686fa59ed0206ce7c6656d3439",
      "tree": "74da61c257264c74bb683c5a7d7e0d387b53ac50",
      "parents": [
        "27d4977f1f4d0b4cbd67bd0cfc29d4d8cfff96f1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 30 08:53:15 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 30 09:09:41 2017 -0800"
      },
      "message": "Generate all the benchmarks to run.\n\nInstead of requiring the need to maintain a list of all the benchmarks,\nadd a programmatic way to generate all of the benchmarks.\n\nThis generation runs the benchmarks in alphabetical order.\n\nAdd a new macro BIONIC_BENCHMARK_WITH_ARG that will be the default argument\nto pass to the benchmark. Change the benchmarks that require default arguments.\n\nAdd a small example xml file, and remove the full.xml/host.xml files.\n\nUpdate readme.\n\nTest: Ran new unit tests, verified all tests are added.\nChange-Id: I8036daeae7635393222a7a92d18f34119adba745\n"
    },
    {
      "commit": "a98a5fb63ee00bbd7f1663192453efcdf117cb92",
      "tree": "ca3ade0c20e9bb89f76e4ae37e9d3fde00a264f1",
      "parents": [
        "ac4f4b43a3d19f40fc1138c5f78a3d5afd535935"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Aug 09 16:52:19 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Aug 09 17:24:13 2017 -0700"
      },
      "message": "Improve error handling and fix minor bugs in bionic benchmarks.\n\nTest: Unit tests.\nChange-Id: I224ae4c7f195176eb8a87deddb2debcbf0f24ba3\n"
    },
    {
      "commit": "ac4f4b43a3d19f40fc1138c5f78a3d5afd535935",
      "tree": "383382ddc413b182c7b84cab5c2e47004bfd9470",
      "parents": [
        "a7b0f8899790198cd9e72950f481679fe31e1a92"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Tue Aug 08 18:29:51 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Aug 09 15:26:37 2017 -0700"
      },
      "message": "Add musl benchmarks.\n\nTest: Unit tests.\nChange-Id: Ifb2911825f84b95fe64a803bfabd32fb81210eae\n"
    },
    {
      "commit": "a7b0f8899790198cd9e72950f481679fe31e1a92",
      "tree": "4167c3afc82ffb281f43ef2332a60c675f121e43",
      "parents": [
        "0d6485eca47f0e860486795b2da97679948fd5d5"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Mon Jul 24 20:01:13 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Mon Aug 07 13:16:09 2017 -0700"
      },
      "message": "Implement interface for bionic benchmarks.\n\nTest: Unit tests.\nChange-Id: Ic61932f61ddd572e2f045b601f9da6e090cdc45d\n"
    },
    {
      "commit": "f4447b9105f2d42acd2bbe0ba1c602ef3562b681",
      "tree": "74a80edf3fb9f0f025e1a1dff79659dc514dc67b",
      "parents": [
        "42edca036e5c9ed24017de5fba41d5d1feda61d0"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Fri Jun 23 15:53:59 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Jul 12 13:42:23 2017 -0700"
      },
      "message": "Support memory alignment tests for string_benchmark.cpp\n\nTest: Manually verify that benchmark times are similar and add a unit test.\nChange-Id: Idaaeb4c8c3629f797ffd8d0c86c8d7b7b9653181\n"
    },
    {
      "commit": "1c487e103618b7e4e3480f59375761e94ce80d2a",
      "tree": "52a2acc40d89e503ef3c217423f8c2e89604b6c7",
      "parents": [
        "a99d052801be5618465e5532440711e61f9b89fc"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Mon Jun 12 12:33:06 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Jun 14 17:51:54 2017 -0700"
      },
      "message": "Add benchmarks for strcpy and strcmp.\n\nTest: Ran benchmarks and verified that runtimes were sensible.\nChange-Id: I609e3261503a015bfd4982767fef3ce56141aebc\n"
    },
    {
      "commit": "a99d052801be5618465e5532440711e61f9b89fc",
      "tree": "384f352dba6d63ad84caaf5257f5b3cc0827d97a",
      "parents": [
        "271be9bb7df6f3910a929ef7bff55fbd9bc2dee6"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Mon Jun 12 11:24:01 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Jun 14 15:13:50 2017 -0700"
      },
      "message": "Add copy-only, seek-only, and copy-and-seek benchmarks for strcat\n\nTest: Ran benchmarks and verified that runtimes were sensible.\nChange-Id: I6da3aaea0ba4817662534b24873993589385e6c5\n"
    },
    {
      "commit": "271be9bb7df6f3910a929ef7bff55fbd9bc2dee6",
      "tree": "cbada1d44532b8e463156c9d086733c37ebabf3f",
      "parents": [
        "5c76fec2821c9a5228e681ef37525f9b30fa5805"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Jun 07 13:00:38 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Fri Jun 09 13:30:34 2017 -0700"
      },
      "message": "Split memmove benchmark into separate overlapping (src before dst and dst before src) and non-overlapping tests.\n\nTest: Ran benchmarks and verified that runtimes were sensible.\nChange-Id: Ia7fbc5596dfdc162fff2364f4ef6dafe5549b907\n"
    },
    {
      "commit": "be763d85c881b58754e650192204e8a2309660cb",
      "tree": "09175cceb1d28d140993c687b4c89abfeac2763d",
      "parents": [
        "b3321c961452f69650e4a6bd2a7db317a80b3234"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Mon Nov 14 14:16:08 2016 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Nov 15 09:07:11 2016 +0100"
      },
      "message": "Fix deprecated range_x() calls.\n\nTest: builds with new libbenchmark.\nChange-Id: I91c0e5c1b5cf75b8e551f3c59d83ac9352817c4a\n"
    },
    {
      "commit": "1a5fd9c155be65d49d51cd511097541897f4bb37",
      "tree": "79624b48b2b47956a8426a2f80e407ce0f56bcac",
      "parents": [
        "74669e99ce73da86002fe047c73913427ef1d2a1"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jun 10 11:07:21 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jun 10 15:25:49 2016 -0700"
      },
      "message": "Fix misc-macro-parentheses warnings in bionic.\n\nAdd parentheses around macro arguments used beside operators,\nor use constexpr for simple constants.\nBug: 28705665\n\nChange-Id: I378c8aad92d3ec8e8c4b0440b5c2c99dfe01ce79\n"
    },
    {
      "commit": "281e06ba69ce6f591697acf65a24651050809920",
      "tree": "c2a4caf009b63e8be398ef3da1f0e792f41c9746",
      "parents": [
        "925bf56447cf87da910441f12b302051e07549ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 17 10:23:52 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 07 13:50:50 2016 -0800"
      },
      "message": "Switch bionic over to google-benchmark.\n\nAlso removes the old benchmarking library.\n\nChange-Id: I4791ae69fa5dea03644d3d411c60b7c6d1fceae3\n"
    },
    {
      "commit": "df4942c04a63ae6e4f5c78ece9f696d6b8b74d32",
      "tree": "f4e1061bcaf821753263413f1e89fb82f5d50e99",
      "parents": [
        "3e1b5f46c07aef5983ecf2feb1c3369b2cd200c0"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 17 19:58:53 2015 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 19 14:58:24 2015 -0800"
      },
      "message": "Refactor the benchmark code.\n\nChanges:\n- Modify the benchmarks to derive from a single Benchmark object.\n- Rewrite the main iteration code. This includes changing the iteration\n  code to use the actual total time calculated by the benchmark as a basis\n  for determining whether there are enough iterations instead of using\n  the time it takes to run the benchmark.\n- Allow benchmarks to take no argument, int, or double.\n- Fix the PrettyInt printer for negative integers.\n- Modify the max column width name to include the whole name including\n  the arg part.\n- Reformat property_benchmark.cpp in line with the rest of the code.\n- Modify a few of the math benchmarks to take an argument instead of\n  separate benchmarks for the same function with different args.\n- Create a vector of regex_t structs to represent the args all at\n  once instead of when running each benchmark.\n\nThis change is in preparation for adding new math based benchmarks.\n\nTested by running on a nexus flo running at max using the new code\nand the old code and comparing. All of the numbers are similar, but\nsome of the iterations are different due to the slightly different\nalgorithm used.\n\nChange-Id: I57ad1f3ff083282b9ffeb72e687cab369ce3523a\n"
    },
    {
      "commit": "bd3efbc9b585e0c9801b0b35f282347cb8692ca8",
      "tree": "ee91fc952e907515d959f80a55de157318ad124a",
      "parents": [
        "05ec00bf62ac168c9787a3d0640879ab3e502fe5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Nov 15 17:49:47 2013 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 10 18:24:30 2013 -0800"
      },
      "message": "bionic: move benchmarks out of tests directory\n\nChange-Id: I4d054965198af22c9a9c821d1bc53f4e9ea01248\n"
    },
    {
      "commit": "9edb3e004b487e08cbbb54f2af18b15241550513",
      "tree": "afb15c0e496588ed186e7558c1f890b6871cc296",
      "parents": [
        "d10a5a02d1e9315dd7d780c2f221d116ced45a69"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 06 15:47:09 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 06 15:47:09 2013 -0800"
      },
      "message": "Improve benchmarking tool, add a few math benchmarks.\n\nChange-Id: I641305dd0e4ac0705381e735ed1604c5be7aa536\n"
    },
    {
      "commit": "fbe44ec0436a8ce735f4dbe06c5109e3c0d4a8ae",
      "tree": "6bf24a0d82391259902118c35ace81e4c10a0126",
      "parents": [
        "49677deca2c2984ae6c0a3df8fbada7132e82940"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 14:59:21 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 14:59:21 2012 -0800"
      },
      "message": "Add a memmove(3) benchmark.\n\nChange-Id: I9c0ffae0b5aae29521b7e68e5ce2318b5a401cba\n"
    },
    {
      "commit": "7be369d4c60e9df2316fdb6c73181a40020abef2",
      "tree": "fea1bc5ddadfa7bac349ec587c8e89f36833e8f7",
      "parents": [
        "d460f3f1af80af40d8c3fab12a68459d8d1ec4c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 08 15:37:43 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 08 15:37:43 2012 -0800"
      },
      "message": "Simple google3-compatible benchmarking.\n\nBased on our open-source RE2 benchmarking code.\n\nIncludes benchmarks for a handful of \u003cstring.h\u003e functions.\n\nChange-Id: I30eb70d25dbf4ad5f2ca44976a8ce3b1ff7dad01\n"
    }
  ]
}
