)]}'
{
  "commit": "d4a97fa65fcb95c779404a17b6609912c9e34bb8",
  "tree": "d742bee1952a402b2a250186b0250d91f2ad5a68",
  "parents": [
    "5f43b12d52e94b50e481bae2ccb74ab95904123d"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Apr 30 12:58:38 2020 -0400"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Thu May 07 18:16:27 2020 +0000"
  },
  "message": "Use a 5-bit comb for some Trust Tokens multiplications.\n\nSeveral of the Trust Tokens multiplications use repeated points (G, H,\nand the public keys). We can precompute a 5-bit comb for those points\nand perform only 1/5th as many doubles in the multiplication.\n\nBefore:\nDid 483 TrustToken-Exp0-Batch1 generate_key operations in 2017082us (239.5 ops/sec)\nDid 1449 TrustToken-Exp0-Batch1 begin_issuance operations in 2086097us (694.6 ops/sec)\nDid 176 TrustToken-Exp0-Batch1 issue operations in 2089640us (84.2 ops/sec)\nDid 147 TrustToken-Exp0-Batch1 finish_issuance operations in 2027924us (72.5 ops/sec)\nDid 12284000 TrustToken-Exp0-Batch1 begin_redemption operations in 2000151us (6141536.3 ops/sec)\nDid 483 TrustToken-Exp0-Batch1 redeem operations in 2063241us (234.1 ops/sec)\nDid 35000 TrustToken-Exp0-Batch1 finish_redemption operations in 2050694us (17067.4 ops/sec)\nDid 483 TrustToken-Exp0-Batch10 generate_key operations in 2003222us (241.1 ops/sec)\nDid 138 TrustToken-Exp0-Batch10 begin_issuance operations in 2000845us (69.0 ops/sec)\nDid 16 TrustToken-Exp0-Batch10 issue operations in 2010264us (8.0 ops/sec)\nDid 14 TrustToken-Exp0-Batch10 finish_issuance operations in 2036137us (6.9 ops/sec)\nDid 12106000 TrustToken-Exp0-Batch10 begin_redemption operations in 2000126us (6052618.7 ops/sec)\nDid 483 TrustToken-Exp0-Batch10 redeem operations in 2062366us (234.2 ops/sec)\nDid 35000 TrustToken-Exp0-Batch10 finish_redemption operations in 2023617us (17295.8 ops/sec)\n\nDid 1254 TrustToken-Exp1-Batch1 generate_key operations in 2086776us (600.9 ops/sec)\nDid 3612 TrustToken-Exp1-Batch1 begin_issuance operations in 2052090us (1760.2 ops/sec)\nDid 420 TrustToken-Exp1-Batch1 issue operations in 2002421us (209.7 ops/sec)\nDid 378 TrustToken-Exp1-Batch1 finish_issuance operations in 2078074us (181.9 ops/sec)\nDid 12843000 TrustToken-Exp1-Batch1 begin_redemption operations in 2000068us (6421281.7 ops/sec)\nDid 1210 TrustToken-Exp1-Batch1 redeem operations in 2083419us (580.8 ops/sec)\nDid 35000 TrustToken-Exp1-Batch1 finish_redemption operations in 2023704us (17295.0 ops/sec)\nDid 1239 TrustToken-Exp1-Batch10 generate_key operations in 2060962us (601.2 ops/sec)\nDid 357 TrustToken-Exp1-Batch10 begin_issuance operations in 2031131us (175.8 ops/sec)\nDid 42 TrustToken-Exp1-Batch10 issue operations in 2045185us (20.5 ops/sec)\nDid 36 TrustToken-Exp1-Batch10 finish_issuance operations in 2028604us (17.7 ops/sec)\nDid 12435000 TrustToken-Exp1-Batch10 begin_redemption operations in 2000084us (6217238.9 ops/sec)\nDid 1176 TrustToken-Exp1-Batch10 redeem operations in 2023934us (581.0 ops/sec)\nDid 35000 TrustToken-Exp1-Batch10 finish_redemption operations in 2002899us (17474.7 ops/sec)\n\nAfter:\nDid 875 TrustToken-Exp0-Batch1 generate_key operations in 2028222us (431.4 ops/sec) [+80.2%]\nDid 1449 TrustToken-Exp0-Batch1 begin_issuance operations in 2097298us (690.9 ops/sec) [-0.5%]\nDid 207 TrustToken-Exp0-Batch1 issue operations in 2083578us (99.3 ops/sec) [+18.0%]\nDid 147 TrustToken-Exp0-Batch1 finish_issuance operations in 2018783us (72.8 ops/sec) [+0.5%]\nDid 12020250 TrustToken-Exp0-Batch1 begin_redemption operations in 2000036us (6010016.8 ops/sec) [-2.1%]\nDid 525 TrustToken-Exp0-Batch1 redeem operations in 2077137us (252.8 ops/sec) [+8.0%]\nDid 35000 TrustToken-Exp0-Batch1 finish_redemption operations in 2006257us (17445.4 ops/sec) [+2.2%]\nDid 903 TrustToken-Exp0-Batch10 generate_key operations in 2091846us (431.7 ops/sec) [+79.0%]\nDid 138 TrustToken-Exp0-Batch10 begin_issuance operations in 2006432us (68.8 ops/sec) [-0.3%]\nDid 19 TrustToken-Exp0-Batch10 issue operations in 2000665us (9.5 ops/sec) [+19.3%]\nDid 14 TrustToken-Exp0-Batch10 finish_issuance operations in 2045846us (6.8 ops/sec) [-0.5%]\nDid 12124000 TrustToken-Exp0-Batch10 begin_redemption operations in 2000055us (6061833.3 ops/sec) [+0.2%]\nDid 525 TrustToken-Exp0-Batch10 redeem operations in 2076637us (252.8 ops/sec) [+7.9%]\nDid 35000 TrustToken-Exp0-Batch10 finish_redemption operations in 2000072us (17499.4 ops/sec) [+1.2%]\n\nDid 2142 TrustToken-Exp1-Batch1 generate_key operations in 2031447us (1054.4 ops/sec) [+75.5%]\nDid 3633 TrustToken-Exp1-Batch1 begin_issuance operations in 2073265us (1752.3 ops/sec) [-0.4%]\nDid 504 TrustToken-Exp1-Batch1 issue operations in 2043677us (246.6 ops/sec) [+17.6%]\nDid 378 TrustToken-Exp1-Batch1 finish_issuance operations in 2086624us (181.2 ops/sec) [-0.4%]\nDid 12548250 TrustToken-Exp1-Batch1 begin_redemption operations in 2000020us (6274062.3 ops/sec) [-2.3%]\nDid 1281 TrustToken-Exp1-Batch1 redeem operations in 2067790us (619.5 ops/sec) [+6.7%]\nDid 35000 TrustToken-Exp1-Batch1 finish_redemption operations in 2012117us (17394.6 ops/sec) [+0.6%]\nDid 2184 TrustToken-Exp1-Batch10 generate_key operations in 2069977us (1055.1 ops/sec) [+75.5%]\nDid 357 TrustToken-Exp1-Batch10 begin_issuance operations in 2041930us (174.8 ops/sec) [-0.5%]\nDid 50 TrustToken-Exp1-Batch10 issue operations in 2063927us (24.2 ops/sec) [+18.0%]\nDid 36 TrustToken-Exp1-Batch10 finish_issuance operations in 2038115us (17.7 ops/sec) [-0.5%]\nDid 12693000 TrustToken-Exp1-Batch10 begin_redemption operations in 2000070us (6346277.9 ops/sec) [+2.1%]\nDid 1281 TrustToken-Exp1-Batch10 redeem operations in 2066940us (619.8 ops/sec) [+6.7%]\nDid 35000 TrustToken-Exp1-Batch10 finish_redemption operations in 2020506us (17322.4 ops/sec) [-0.9%]\n\nChange-Id: Id26600c07401d6567275155aa389839ac0e87013\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/41124\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Steven Valdez \u003csvaldez@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5497aac99521ab4f7d37c8deb151ed4b48a2951a",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/ec.c",
      "new_id": "89ce64e70153ef2adb9be205726f779ce1d0cd03",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/ec.c"
    },
    {
      "type": "modify",
      "old_id": "8e94f300385ba6df8e5c144f35923213593bad0c",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/ec_montgomery.c",
      "new_id": "e9a0958086ea6954c785eeac3875daf9b87b542f",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/ec_montgomery.c"
    },
    {
      "type": "modify",
      "old_id": "a30af1c1f440c76802464c1b925848713b0bc25d",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/internal.h",
      "new_id": "278c07127f9799c89a3e6eeec47ce62e370e33b2",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/internal.h"
    },
    {
      "type": "modify",
      "old_id": "02063dfd3854f078be19ddf8c1edd4e466360238",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/simple_mul.c",
      "new_id": "127e2b3f6ff4d57bcf1cbbdf8e227180cfa35b96",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/simple_mul.c"
    },
    {
      "type": "modify",
      "old_id": "6c9904d7a7897b5d280afa63cc9489878d7848a7",
      "old_mode": 33188,
      "old_path": "crypto/trust_token/internal.h",
      "new_id": "db9d0cf3eb421c255b4b2ee370c0f56ba6e894a4",
      "new_mode": 33188,
      "new_path": "crypto/trust_token/internal.h"
    },
    {
      "type": "modify",
      "old_id": "04075377c81727f623cd70815e8dc85f1e6c9133",
      "old_mode": 33188,
      "old_path": "crypto/trust_token/pmbtoken.c",
      "new_id": "7eca5bb8c05b3217292f62539e15cdb75a8c2950",
      "new_mode": 33188,
      "new_path": "crypto/trust_token/pmbtoken.c"
    }
  ]
}
