)]}'
{
  "commit": "32e59d2d3264e4e104b355ef73663b8b79ac4093",
  "tree": "8103f5dd7e013eaba1cbc7035b8ae6075e7e3c7e",
  "parents": [
    "f36c3ad3e4b7794c658a883413edb71a2e937ce1"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Tue Jan 08 23:08:42 2019 +0000"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Fri Jan 18 00:24:03 2019 +0000"
  },
  "message": "Switch to new fiat pipeline.\n\nThis new version makes it much easier to tell which code is handwritten\nand which is verified. For some reason, it also is *dramatically* faster\nfor 32-bit x86 GCC. Clang x86_64, however, does take a small hit.\nBenchmarks below.\n\nx86, GCC 7.3.0, OPENSSL_SMALL\n(For some reason, GCC used to be really bad at compiling the 32-bit curve25519\ncode. The new one fixes this. I\u0027m not sure what changed.)\nBefore:\nDid 17135 Ed25519 key generation operations in 10026402us (1709.0 ops/sec)\nDid 17170 Ed25519 signing operations in 10074192us (1704.4 ops/sec)\nDid 9180 Ed25519 verify operations in 10034025us (914.9 ops/sec)\nDid 17271 Curve25519 base-point multiplication operations in 10050837us (1718.4 ops/sec)\nDid 10605 Curve25519 arbitrary point multiplication operations in 10047714us (1055.5 ops/sec)\nDid 7800 ECDH P-256 operations in 10018331us (778.6 ops/sec)\nDid 24308 ECDSA P-256 signing operations in 10019241us (2426.1 ops/sec)\nDid 9191 ECDSA P-256 verify operations in 10081639us (911.7 ops/sec)\nAfter:\nDid 99873 Ed25519 key generation operations in 10021810us (9965.6 ops/sec) [+483.1%]\nDid 99960 Ed25519 signing operations in 10052236us (9944.1 ops/sec) [+483.4%]\nDid 53676 Ed25519 verify operations in 10009078us (5362.7 ops/sec) [+486.2%]\nDid 102000 Curve25519 base-point multiplication operations in 10039764us (10159.6 ops/sec) [+491.2%]\nDid 60802 Curve25519 arbitrary point multiplication operations in 10056897us (6045.8 ops/sec) [+472.8%]\nDid 7900 ECDH P-256 operations in 10054509us (785.7 ops/sec) [+0.9%]\nDid 24926 ECDSA P-256 signing operations in 10050919us (2480.0 ops/sec) [+2.2%]\nDid 9494 ECDSA P-256 verify operations in 10064659us (943.3 ops/sec) [+3.5%]\n\nx86, Clang 8.0.0 trunk 349417, OPENSSL_SMALL\nBefore:\nDid 82750 Ed25519 key generation operations in 10051177us (8232.9 ops/sec)\nDid 82400 Ed25519 signing operations in 10035806us (8210.6 ops/sec)\nDid 41511 Ed25519 verify operations in 10048919us (4130.9 ops/sec)\nDid 83300 Curve25519 base-point multiplication operations in 10044283us (8293.3 ops/sec)\nDid 49700 Curve25519 arbitrary point multiplication operations in 10007005us (4966.5 ops/sec)\nDid 14039 ECDH P-256 operations in 10093929us (1390.8 ops/sec)\nDid 40950 ECDSA P-256 signing operations in 10006757us (4092.2 ops/sec)\nDid 16068 ECDSA P-256 verify operations in 10095996us (1591.5 ops/sec)\nAfter:\nDid 80476 Ed25519 key generation operations in 10048648us (8008.6 ops/sec) [-2.7%]\nDid 79050 Ed25519 signing operations in 10049180us (7866.3 ops/sec) [-4.2%]\nDid 40501 Ed25519 verify operations in 10048347us (4030.6 ops/sec) [-2.4%]\nDid 81300 Curve25519 base-point multiplication operations in 10017480us (8115.8 ops/sec) [-2.1%]\nDid 48278 Curve25519 arbitrary point multiplication operations in 10092500us (4783.6 ops/sec) [-3.7%]\nDid 15402 ECDH P-256 operations in 10096705us (1525.4 ops/sec) [+9.7%]\nDid 44200 ECDSA P-256 signing operations in 10037715us (4403.4 ops/sec) [+7.6%]\nDid 17000 ECDSA P-256 verify operations in 10008813us (1698.5 ops/sec) [+6.7%]\n\nx86_64, GCC 7.3.0\n(Note these P-256 numbers are not affected by this change. Included to get a\nsense of noise.)\nBefore:\nDid 557000 Ed25519 key generation operations in 10011721us (55634.8 ops/sec)\nDid 550000 Ed25519 signing operations in 10016449us (54909.7 ops/sec)\nDid 190000 Ed25519 verify operations in 10014565us (18972.4 ops/sec)\nDid 587000 Curve25519 base-point multiplication operations in 10015402us (58609.7 ops/sec)\nDid 230000 Curve25519 arbitrary point multiplication operations in 10023827us (22945.3 ops/sec)\nDid 179000 ECDH P-256 operations in 10016294us (17870.9 ops/sec)\nDid 557000 ECDSA P-256 signing operations in 10014158us (55621.3 ops/sec)\nDid 198000 ECDSA P-256 verify operations in 10036694us (19727.6 ops/sec)\nAfter:\nDid 569000 Ed25519 key generation operations in 10004965us (56871.8 ops/sec) [+2.2%]\nDid 563000 Ed25519 signing operations in 10000064us (56299.6 ops/sec) [+2.5%]\nDid 196000 Ed25519 verify operations in 10025650us (19549.9 ops/sec) [+3.0%]\nDid 596000 Curve25519 base-point multiplication operations in 10008666us (59548.4 ops/sec) [+1.6%]\nDid 229000 Curve25519 arbitrary point multiplication operations in 10028921us (22834.0 ops/sec) [-0.5%]\nDid 182910 ECDH P-256 operations in 10014905us (18263.8 ops/sec) [+2.2%]\nDid 562000 ECDSA P-256 signing operations in 10011944us (56133.0 ops/sec) [+0.9%]\nDid 202000 ECDSA P-256 verify operations in 10046901us (20105.7 ops/sec) [+1.9%]\n\nx86_64, GCC 7.3.0, OPENSSL_SMALL\nBefore:\nDid 350000 Ed25519 key generation operations in 10002540us (34991.1 ops/sec)\nDid 344000 Ed25519 signing operations in 10010420us (34364.2 ops/sec)\nDid 197000 Ed25519 verify operations in 10030593us (19639.9 ops/sec)\nDid 362000 Curve25519 base-point multiplication operations in 10004615us (36183.3 ops/sec)\nDid 235000 Curve25519 arbitrary point multiplication operations in 10025951us (23439.2 ops/sec)\nDid 32032 ECDH P-256 operations in 10056486us (3185.2 ops/sec)\nDid 96354 ECDSA P-256 signing operations in 10007297us (9628.4 ops/sec)\nDid 37774 ECDSA P-256 verify operations in 10044892us (3760.5 ops/sec)\nAfter:\nDid 343000 Ed25519 key generation operations in 10025108us (34214.1 ops/sec) [-2.2%]\nDid 340000 Ed25519 signing operations in 10014870us (33949.5 ops/sec) [-1.2%]\nDid 192000 Ed25519 verify operations in 10025082us (19152.0 ops/sec) [-2.5%]\nDid 355000 Curve25519 base-point multiplication operations in 10013220us (35453.1 ops/sec) [-2.0%]\nDid 231000 Curve25519 arbitrary point multiplication operations in 10010775us (23075.1 ops/sec) [-1.6%]\nDid 31540 ECDH P-256 operations in 10009664us (3151.0 ops/sec) [-1.1%]\nDid 99012 ECDSA P-256 signing operations in 10090296us (9812.6 ops/sec) [+1.9%]\nDid 37695 ECDSA P-256 verify operations in 10092859us (3734.8 ops/sec) [-0.7%]\n\nx86_64, Clang 8.0.0 trunk 349417\n(Note these P-256 numbers are not affected by this change. Included to get a\nsense of noise.)\nBefore:\nDid 600000 Ed25519 key generation operations in 10000278us (59998.3 ops/sec)\nDid 595000 Ed25519 signing operations in 10010375us (59438.3 ops/sec)\nDid 184000 Ed25519 verify operations in 10013984us (18374.3 ops/sec)\nDid 636000 Curve25519 base-point multiplication operations in 10005250us (63566.6 ops/sec)\nDid 229000 Curve25519 arbitrary point multiplication operations in 10006059us (22886.1 ops/sec)\nDid 179250 ECDH P-256 operations in 10026354us (17877.9 ops/sec)\nDid 547000 ECDSA P-256 signing operations in 10017585us (54604.0 ops/sec)\nDid 197000 ECDSA P-256 verify operations in 10013020us (19674.4 ops/sec)\nAfter:\nDid 560000 Ed25519 key generation operations in 10009295us (55948.0 ops/sec) [-6.8%]\nDid 548000 Ed25519 signing operations in 10007912us (54756.7 ops/sec) [-7.9%]\nDid 170000 Ed25519 verify operations in 10056948us (16903.7 ops/sec) [-8.0%]\nDid 592000 Curve25519 base-point multiplication operations in 10016818us (59100.6 ops/sec) [-7.0%]\nDid 214000 Curve25519 arbitrary point multiplication operations in 10043918us (21306.4 ops/sec) [-6.9%]\nDid 180000 ECDH P-256 operations in 10026019us (17953.3 ops/sec) [+0.4%]\nDid 550000 ECDSA P-256 signing operations in 10004943us (54972.8 ops/sec) [+0.7%]\nDid 198000 ECDSA P-256 verify operations in 10021714us (19757.1 ops/sec) [+0.4%]\n\nx86_64, Clang 8.0.0 trunk 349417, OPENSSL_SMALL\nBefore:\nDid 326000 Ed25519 key generation operations in 10003266us (32589.4 ops/sec)\nDid 322000 Ed25519 signing operations in 10026783us (32114.0 ops/sec)\nDid 181000 Ed25519 verify operations in 10015635us (18071.7 ops/sec)\nDid 335000 Curve25519 base-point multiplication operations in 10000359us (33498.8 ops/sec)\nDid 224000 Curve25519 arbitrary point multiplication operations in 10027245us (22339.1 ops/sec)\nDid 68552 ECDH P-256 operations in 10018900us (6842.3 ops/sec)\nDid 184000 ECDSA P-256 signing operations in 10014516us (18373.3 ops/sec)\nDid 76020 ECDSA P-256 verify operations in 10016891us (7589.2 ops/sec)\nAfter:\nDid 310000 Ed25519 key generation operations in 10022086us (30931.7 ops/sec) [-5.1%]\nDid 308000 Ed25519 signing operations in 10007543us (30776.8 ops/sec) [-4.2%]\nDid 173000 Ed25519 verify operations in 10005829us (17289.9 ops/sec) [-4.3%]\nDid 321000 Curve25519 base-point multiplication operations in 10027058us (32013.4 ops/sec) [-4.4%]\nDid 212000 Curve25519 arbitrary point multiplication operations in 10015203us (21167.8 ops/sec) [-5.2%]\nDid 64059 ECDH P-256 operations in 10042781us (6378.6 ops/sec) [-6.8%]\nDid 170000 ECDSA P-256 signing operations in 10030896us (16947.6 ops/sec) [-7.8%]\nDid 72176 ECDSA P-256 verify operations in 10075369us (7163.6 ops/sec) [-5.6%]\n\nBug: 254\nChange-Id: Ib04c773f01b542bcb8611cceb582466bfa6f6d52\nReviewed-on: https://boringssl-review.googlesource.com/c/34306\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6cd16121aec5fae8851992a3d928eb4db8f313e3",
      "old_mode": 33188,
      "old_path": "third_party/fiat/METADATA",
      "new_id": "0e4012f3d205451f899e29ab4675835d8d70b804",
      "new_mode": 33188,
      "new_path": "third_party/fiat/METADATA"
    },
    {
      "type": "modify",
      "old_id": "b64956e87a4658bb290679c8010d9109910cebee",
      "old_mode": 33188,
      "old_path": "third_party/fiat/curve25519.c",
      "new_id": "c5fa5da80239a5b36e308109c804df8b359b3e9f",
      "new_mode": 33188,
      "new_path": "third_party/fiat/curve25519.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "820a5c9bb07e7887793fed8b22d0cb5e11762ed4",
      "new_mode": 33188,
      "new_path": "third_party/fiat/curve25519_32.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "23bf361d8a94e78f36419a0d3578a9a93ff94ec0",
      "new_mode": 33188,
      "new_path": "third_party/fiat/curve25519_64.c"
    },
    {
      "type": "modify",
      "old_id": "414b7e0c4d7817528e5740f0ea3b1daecc8e5c49",
      "old_mode": 33188,
      "old_path": "third_party/fiat/p256.c",
      "new_id": "3c2ce1d0491938a2cdf22859f1d5514f4f00cf77",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "faaa0b04e4127eb777079d642253430e9f12733f",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_32.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8e449c6b9c2802f1f990f8b44aedde35cf9c2323",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_64.c"
    }
  ]
}
