)]}'
{
  "commit": "04904a0fff639c058d38b355d75485ca5dde0a89",
  "tree": "7a56f4a432b91555fa97e3a70d4382ce69d63335",
  "parents": [
    "93983e555531a8d9bf70d12e4cfdb5ce2f337e3b"
  ],
  "author": {
    "name": "Jonathan Swinney",
    "email": "jswinney@amazon.com",
    "time": "Wed Oct 27 16:50:30 2021 +0000"
  },
  "committer": {
    "name": "Pauli",
    "email": "pauli@openssl.org",
    "time": "Tue May 03 14:36:17 2022 +1000"
  },
  "message": "md5: add assembly implementation for aarch64\n\nThis change improves md5 performance significantly by using a hand-optimized\nassembly implementation of the inner loop of md5 calculation. The instructions\nare carefully ordered to separate data dependencies as much as possible.\n\nTest with:\n$ openssl speed md5\n\nAWS Graviton 2\ntype             16 bytes    64 bytes     256 bytes    1024 bytes   8192 bytes   16384 bytes\nmd5              46990.60k   132778.65k   270376.96k   364718.08k   405962.75k   409201.32k\nmd5-modified     51725.23k   152236.22k   323469.14k   453869.57k   514102.61k   519056.04k\n                 +10%        +15%         +20%         +24%         +27%         +27%\n\nApple M1\ntype             16 bytes    64 bytes     256 bytes    1024 bytes   8192 bytes   16384 bytes\nmd5              74634.39k   195561.25k   375434.45k   491004.23k   532361.40k   536636.48k\nmd5-modified     84637.11k   229017.09k   444609.62k   588069.50k   655114.24k   660850.56k\n                 +13%        +17%         +18%         +20%         +23%         +23%\n\nReviewed-by: Matt Caswell \u003cmatt@openssl.org\u003e\nReviewed-by: Paul Dale \u003cpauli@openssl.org\u003e\n(Merged from https://github.com/openssl/openssl/pull/16928)\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "94d727fc9c49f58fc62b50489c870800d617f376",
      "new_mode": 33261,
      "new_path": "crypto/md5/asm/md5-aarch64.pl"
    },
    {
      "type": "modify",
      "old_id": "080411cc2cf216e78486b196a7c80f6221768c98",
      "old_mode": 33188,
      "old_path": "crypto/md5/build.info",
      "new_id": "79b7ccab2b34255e942436b70870722b08f8df3a",
      "new_mode": 33188,
      "new_path": "crypto/md5/build.info"
    },
    {
      "type": "modify",
      "old_id": "22a0e0f62aed12b1bdc0f9a85f79078c141a8c7b",
      "old_mode": 33188,
      "old_path": "crypto/md5/md5_local.h",
      "new_id": "ca7362fe54e8560c0bc35addfc7d772ede302ec0",
      "new_mode": 33188,
      "new_path": "crypto/md5/md5_local.h"
    }
  ]
}
