)]}'
{
  "commit": "42d4489e007f16268f5f5ecb6266e2148f29e846",
  "tree": "82388fef40e2a696893f308698a9677b3a1e49f6",
  "parents": [
    "e964c662f32d12aa57afddd148b6d794665fee7a"
  ],
  "author": {
    "name": "Dirk Pranke",
    "email": "dpranke@chromium.org",
    "time": "Sun Aug 27 13:52:13 2017 -0700"
  },
  "committer": {
    "name": "Dirk Pranke",
    "email": "dpranke@chromium.org",
    "time": "Sun Aug 27 14:44:31 2017 -0700"
  },
  "message": "Add some basic benchmarking.\n\nThis CL adds a \"benchmarking\" directory containing a driver and\n4 JSON files that can be used to benchmark how fast loads() is.\nThe four files are taken from a Chromium checkout, revision 2d1b70999b\n(#495218, from 2017-18-03):\n\nchromium.linux.json is //testing/buildbot/chromium.linux.json\nchromium.perf.json is //testing/buildbot/chromium.perf.json\nios-simulator.json is //ios/build/bots/ios-simulator.json\nmb_config.json is //tools/mb/mb_config.pyl, converted to the equivalent\n  JSON object via json.dumps(ast.literal_eval(), indent\u003d2, sort_keys\u003dTrue).\n\nwhich are 5k, 111k, 2k, and 95 lines, respectively, and probably give\na decent range of sizes.\n\nThe benchmark driver reads the four files into memory, and then calls\njson.loads() and json5.loads() on each. The driver can be configured\nto use either the default json decoder (which contains native C routines)\nor the pure-python implementation.\n\nRunning the benchmarks on a mid-2015 27\" Retina iMac (with a 3.3 GHz\nCore i5 CPU and 32 GB of RAM) using Python 2.7.10 on MacOS 10.12.6,\nthe JSON5 decoder is roughly 1000-6000x slower than the C JSON decoder,\nand 200x+ slower than the pure Python JSON decoder.\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3ee88cedc13c1837b40e0f55a42a68d7a0d99dea",
      "new_mode": 33188,
      "new_path": "benchmarks/chromium.linux.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "64364a05f35519f5b056ece696a9bf859d64b7a7",
      "new_mode": 33188,
      "new_path": "benchmarks/chromium.perf.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5a2178e77a3e8689a1dcbe5112ff7b36720884fe",
      "new_mode": 33188,
      "new_path": "benchmarks/ios-simulator.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "af93ef0f29373cfbda786d9e1278109673b262c6",
      "new_mode": 33188,
      "new_path": "benchmarks/mb_config.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "96550bceb600d2c89f6a98fee06e3cb367d8a9e7",
      "new_mode": 33261,
      "new_path": "benchmarks/run.py"
    }
  ]
}
