)]}' { "commit": "884086e0e28aad7efe418d9ed7459912e6683fbb", "tree": "aa07f3f861bf0d1c863e47c580f5bf2071b3bff4", "parents": [ "fa651134000bc6223a717a1ec8408746284d26b1" ], "author": { "name": "David Benjamin", "email": "davidben@google.com", "time": "Thu Feb 01 14:50:15 2018 -0500" }, "committer": { "name": "Adam Langley", "email": "agl@google.com", "time": "Thu Feb 01 21:44:58 2018 +0000" }, "message": "Remove x86_64 x25519 assembly.\n\nNow that we have 64-bit C code, courtesy of fiat-crypto, the tradeoff\nfor carrying the assembly changes:\n\nAssembly:\nDid 16000 Curve25519 base-point multiplication operations in 1059932us (15095.3 ops/sec)\nDid 16000 Curve25519 arbitrary point multiplication operations in 1060023us (15094.0 ops/sec)\n\nfiat64:\nDid 39000 Curve25519 base-point multiplication operations in 1004712us (38817.1 ops/sec)\nDid 14000 Curve25519 arbitrary point multiplication operations in 1006827us (13905.1 ops/sec)\n\nThe assembly is still about 9% faster than fiat64, but fiat64 gets to\nuse the Ed25519 tables for the base point multiplication, so overall it\nis actually faster to disable the assembly:\n\n\u003e\u003e\u003e 1/(1/15094.0 + 1/15095.3)\n7547.324986004976\n\u003e\u003e\u003e 1/(1/38817.1 + 1/13905.1)\n10237.73016319501\n\n(At the cost of touching a 30kB table.)\n\nThe assembly implementation is no longer pulling its weight. Remove it\nand use the fiat code in all build configurations.\n\nChange-Id: Id736873177d5568bb16ea06994b9fcb1af104e33\nReviewed-on: https://boringssl-review.googlesource.com/25524\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "6f51d54ff0198838e18671483cbf63a53e037e48", "old_mode": 33188, "old_path": "crypto/curve25519/CMakeLists.txt", "new_id": "4894fa8e34535131556dda0aec333a1899f95c20", "new_mode": 33188, "new_path": "crypto/curve25519/CMakeLists.txt" }, { "type": "delete", "old_id": "6cff53eeebfed73e5cf9526e6dc1742d1b32462c", "old_mode": 33188, "old_path": "crypto/curve25519/asm/x25519-asm-x86_64.S", "new_id": "0000000000000000000000000000000000000000", "new_mode": 0, "new_path": "/dev/null" }, { "type": "delete", "old_id": "41db0bddc3267c6b2dca136bb6fb7c5da3e39e4a", "old_mode": 33188, "old_path": "crypto/curve25519/x25519-x86_64.c", "new_id": "0000000000000000000000000000000000000000", "new_mode": 0, "new_path": "/dev/null" }, { "type": "modify", "old_id": "dfa4a3924083a01299da59d4e54aa85440fb24df", "old_mode": 33188, "old_path": "third_party/fiat/curve25519.c", "new_id": "d5928af6cfca12b2887ae197a9eb225ef28d467c", "new_mode": 33188, "new_path": "third_party/fiat/curve25519.c" }, { "type": "modify", "old_id": "c5dcc047e4392390df86977fd907cba4f3584f94", "old_mode": 33188, "old_path": "third_party/fiat/internal.h", "new_id": "be3e265a5521a0681d99a4438f152649f704acbe", "new_mode": 33188, "new_path": "third_party/fiat/internal.h" }, { "type": "modify", "old_id": "a4af6667d9e73a67b3b218850b9ba06009afb0df", "old_mode": 33188, "old_path": "util/generate_build_files.py", "new_id": "f2b10dec0018b7e66ad4a5b9c77bd2510c6d6442", "new_mode": 33188, "new_path": "util/generate_build_files.py" } ] }