)]}'
{
  "commit": "16a9c32b499372d20dc06efcdd97e999e9e68959",
  "tree": "4076d0b7d13a25ee27853805f7b4def98b26c56e",
  "parents": [
    "1692593c58150eff065220a8e6017be7c1ba97e1"
  ],
  "author": {
    "name": "Thomas Lively",
    "email": "tlively@google.com",
    "time": "Wed Dec 04 02:29:31 2024"
  },
  "committer": {
    "name": "Thomas Lively",
    "email": "tlively@google.com",
    "time": "Wed Dec 04 03:14:35 2024"
  },
  "message": "Parallelize the binary parsing of function bodies\n\nAfter a linear scan through the code section and input source map to\nfind the start locations corresponding to each function body, parse the\nlocals and instructions for each function in parallel.\n\nThis speeds up binary parsing with a sourcemap by about 20% with 8 cores\non my machine, but only by about 2% with all 128 cores, so this\nparallelization has potential but suffers from scaling overhead[^1].\n\nWhen running a full -O3 optimization pipeline, the parallel parsing\nslightly reduces the number of minor page faults, presumably by better\nallocating the original instructions in separate thread-local arenas. It\nalso slightly reduces the max RSS, but these improvements do not\ntranslate into better overall performance. In fact, overall performance\nis slightly lower with this change (at least on my machine.)\n\n[^1]: FWIW the full -O3 pipeline also performs significantly better with\n8 cores than with 128 cores on my machine.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "daed8b6abc6f69ab31978a619dd923ae4f8b0ba7",
      "old_mode": 33188,
      "old_path": "src/pass.h",
      "new_id": "9e518c42dbe6aac77f61815d0349968809b517a8",
      "new_mode": 33188,
      "new_path": "src/pass.h"
    },
    {
      "type": "modify",
      "old_id": "4bd6ff6184a4d380bed1418c486223248fb7c392",
      "old_mode": 33188,
      "old_path": "src/wasm-binary.h",
      "new_id": "7f94ad6b47cadc7f5710246b159fab2661c1f4e2",
      "new_mode": 33188,
      "new_path": "src/wasm-binary.h"
    },
    {
      "type": "modify",
      "old_id": "89fe4fc60ccdd045e067cbc4e1c99bc779fda05a",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-binary.cpp",
      "new_id": "d374a6e88b0c4abd393e56616c73e59aa1d18be9",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-binary.cpp"
    },
    {
      "type": "modify",
      "old_id": "63a2ed2ccacb82b082510cea4543926e190ebbbd",
      "old_mode": 33188,
      "old_path": "test/lit/binary/debug-bad-binary.test",
      "new_id": "a49f21b13cea963ed0f748b5159841cf7583866c",
      "new_mode": 33188,
      "new_path": "test/lit/binary/debug-bad-binary.test"
    }
  ]
}
