)]}'
{
  "commit": "850a037a1a600d9a4e8661ee3c1f8d65c4d071c3",
  "tree": "e1a0d129fd6ca805a95fd1bd8c58c593fd7d95e5",
  "parents": [
    "c66572ad4dcdbd388a2802378a7e422a7f7d82e1"
  ],
  "author": {
    "name": "Rudolf Polzer",
    "email": "rpolzer@google.com",
    "time": "Tue Sep 01 09:34:47 2026 -0700"
  },
  "committer": {
    "name": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Sep 02 22:26:50 2026 -0700"
  },
  "message": "ML-DSA: Add branchless pre-paths to `scalar_from_keccak_block_vartime`.\n\nStep sizes were tuned to be two steps below the performance cliff on the\ntwo machines I could test on - as such, it might be possible to go one\npower of two up with both, but I have not tested x86-32 with gcc yet.\n\nThis mirrors I29afe4aa283b686b9fc3877e059931f46a6a6964.\n\nBenchmark results show visible improvements on aarch64, and minor\nimprovements (and some noise) on x86-64.\n\naarch64 Apple M1 Pro:\n\nDid 478406 BM_SpeedMLDSAKeyGen/ml_dsa_44/threads:1 operations (34062.0 ops/sec) [+2.3%]\nDid 113081 BM_SpeedMLDSASign/ml_dsa_44/threads:1 operations (8081.8 ops/sec) [+0.7%]\nDid 548225 BM_SpeedMLDSAVerify/ml_dsa_44/threads:1 operations (38954.3 ops/sec) [+3.5%]\nDid 550051 BM_SpeedMLDSAVerifyBadSignature/ml_dsa_44/threads:1 operations (39301.2 ops/sec) [+4.3%]\nDid 292483 BM_SpeedMLDSAKeyGen/ml_dsa_65/threads:1 operations (20914.8 ops/sec) [+4.2%]\nDid 72096 BM_SpeedMLDSASign/ml_dsa_65/threads:1 operations (5259.3 ops/sec) [+2.6%]\nDid 353481 BM_SpeedMLDSAVerify/ml_dsa_65/threads:1 operations (25263.4 ops/sec) [+4.0%]\nDid 353876 BM_SpeedMLDSAVerifyBadSignature/ml_dsa_65/threads:1 operations (25129.6 ops/sec) [+3.0%]\nDid 188579 BM_SpeedMLDSAKeyGen/ml_dsa_87/threads:1 operations (13391.8 ops/sec) [+4.3%]\nDid 63078 BM_SpeedMLDSASign/ml_dsa_87/threads:1 operations (4445.1 ops/sec) [+1.9%]\nDid 212113 BM_SpeedMLDSAVerify/ml_dsa_87/threads:1 operations (15163.5 ops/sec) [+3.2%]\nDid 212799 BM_SpeedMLDSAVerifyBadSignature/ml_dsa_87/threads:1 operations (15245.3 ops/sec) [+4.2%]\n\nx86-64 AMD EPYC 7B13:\n\nDid 282226 BM_SpeedMLDSAKeyGen/ml_dsa_44/threads:1 operations (20139.5 ops/sec) [+1.0%]\nDid 72860 BM_SpeedMLDSASign/ml_dsa_44/threads:1 operations (5151.6 ops/sec) [+0.5%]\nDid 338622 BM_SpeedMLDSAVerify/ml_dsa_44/threads:1 operations (24190.9 ops/sec) [-0.1%]\nDid 338496 BM_SpeedMLDSAVerifyBadSignature/ml_dsa_44/threads:1 operations (24209.9 ops/sec) [-0.3%]\nDid 169634 BM_SpeedMLDSAKeyGen/ml_dsa_65/threads:1 operations (12109.9 ops/sec) [+0.6%]\nDid 47056 BM_SpeedMLDSASign/ml_dsa_65/threads:1 operations (3360.3 ops/sec) [+0.0%]\nDid 213332 BM_SpeedMLDSAVerify/ml_dsa_65/threads:1 operations (15228.8 ops/sec) [+0.6%]\nDid 213440 BM_SpeedMLDSAVerifyBadSignature/ml_dsa_65/threads:1 operations (15239.7 ops/sec) [+0.7%]\nDid 112765 BM_SpeedMLDSAKeyGen/ml_dsa_87/threads:1 operations (8066.8 ops/sec) [+1.6%]\nDid 40735 BM_SpeedMLDSASign/ml_dsa_87/threads:1 operations (2908.1 ops/sec) [-0.2%]\nDid 132878 BM_SpeedMLDSAVerify/ml_dsa_87/threads:1 operations (9494.2 ops/sec) [+0.3%]\nDid 133291 BM_SpeedMLDSAVerifyBadSignature/ml_dsa_87/threads:1 operations (9490.9 ops/sec) [+0.6%]\n\nBug: 503700354\nChange-Id: If01af7f92b2050176c96b77844505f216a6a6964\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/102108\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\nAuto-Submit: Rudolf Polzer \u003crpolzer@google.com\u003e\nCommit-Queue: Rudolf Polzer \u003crpolzer@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0e0aba34c6c2e5b756b3a86d90224608b1f1bb20",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/mldsa/mldsa.cc.inc",
      "new_id": "004f58d1ba14013e829031dfbbe06bcc2e4579c7",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/mldsa/mldsa.cc.inc"
    }
  ]
}
