)]}'
{
  "commit": "1b7fdbd9101dedc3e0aa3fcf4ff74eacddb34ecc",
  "tree": "1ce6b526df1cb9b5f7c3c01e7467fec16a61847b",
  "parents": [
    "261fe436f607a8bf4f16e1b139973aea024e5588"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Nov 16 18:10:31 2023 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Nov 16 23:31:50 2023 +0000"
  },
  "message": "Manually unroll pi and rho steps in Keccak\n\nWe\u0027ve been effectively relying on Clang (on x86_64) to do it for us. But\nother compiler/arch platforms don\u0027t unroll it as readily. I originally\ndid this to play with the 32-bit bit interleaving trick, which requires\nthis, but actually it\u0027s a significant win on its own.\n\nClang (NDK), aarch32, Pixel 5A\nBefore:\nDid 4836 Kyber generate + decap operations in 2036618us (2374.5 ops/sec)\nDid 6237 Kyber parse + encap operations in 2055784us (3033.9 ops/sec)\nAfter:\nDid 8610 Kyber generate + decap operations in 2051048us (4197.9 ops/sec) [+76.8%]\nDid 12138 Kyber parse + encap operations in 2042363us (5943.1 ops/sec) [+95.9%]\n\nClang (NDK), aarch64, Pixel 5A\nBefore:\nDid 16720 Kyber generate + decap operations in 2011039us (8314.1 ops/sec)\nDid 30000 Kyber parse + encap operations in 2023170us (14828.2 ops/sec)\nAFter:\nDid 17080 Kyber generate + decap operations in 2005310us (8517.4 ops/sec) [+2.4%]\nDid 31000 Kyber parse + encap operations in 2059104us (15055.1 ops/sec) [+1.5%]\n\nGCC, x86_64\nBefore:\nDid 14535 Kyber generate + decap operations in 2015051us (7213.2 ops/sec)\nDid 21000 Kyber parse + encap operations in 2017842us (10407.2 ops/sec)\nAfter:\nDid 19900 Kyber generate + decap operations in 2016747us (9867.4 ops/sec) [+36.8%]\nDid 34000 Kyber parse + encap operations in 2059643us (16507.7 ops/sec) [+58.6%]\n\nClang, x86_64\nBefore:\nDid 19584 Kyber generate + decap operations in 2006839us (9758.6 ops/sec)\nDid 34000 Kyber parse + encap operations in 2050513us (16581.2 ops/sec)\nAfter:\nDid 19928 Kyber generate + decap operations in 2020249us (9864.1 ops/sec) [+1.1%]\nDid 34000 Kyber parse + encap operations in 2052970us (16561.4 ops/sec) [-0.1%]\n\nChange-Id: Iee9315667c1d2044785faa9370815a3c7555c259\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/63992\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nReviewed-by: Bob Beck \u003cbbe@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7ab8edcb736b93189b7158607c92c6809b02a4b1",
      "old_mode": 33188,
      "old_path": "crypto/keccak/keccak.c",
      "new_id": "15939ce15126a824387674b013fdd45e1a70ae48",
      "new_mode": 33188,
      "new_path": "crypto/keccak/keccak.c"
    }
  ]
}
