)]}'
{
  "commit": "953e8095893cd9efe44a90fd07ed3cfc87bfc109",
  "tree": "e1a7da81cb274a1d75bee084b26587ecaac3c0b8",
  "parents": [
    "18f770732fa01d5d5e1a529a5518d7b70f93d3c6"
  ],
  "author": {
    "name": "Xiaolin Zhao",
    "email": "zhaoxiaolin@loongson.cn",
    "time": "Mon Dec 16 11:24:59 2024 +0800"
  },
  "committer": {
    "name": "abner chenc",
    "email": "chenguoqi@loongson.cn",
    "time": "Sun Apr 13 20:23:16 2025 -0700"
  },
  "message": "chacha20: add loong64 SIMD implementation\n\nThe performance of chacha20 has been greatly improved on 3A6000 and 3A5000.\n\ngoos: linux\ngoarch: loong64\npkg: golang.org/x/crypto/chacha20\ncpu: Loongson-3A6000 @ 2500.00MHz\n                 |  bench.old   |              bench.new              |\n                 |    sec/op    |   sec/op     vs base                |\nChaCha20/64         171.9n ± 0%   159.3n ± 0%   -7.33% (p\u003d0.000 n\u003d20)\nChaCha20/256        592.2n ± 0%   142.8n ± 0%  -75.89% (p\u003d0.000 n\u003d20)\nChaCha20/10x25      981.5n ± 0%   518.8n ± 0%  -47.14% (p\u003d0.000 n\u003d20)\nChaCha20/4096       8.991µ ± 0%   1.732µ ± 0%  -80.74% (p\u003d0.000 n\u003d20)\nChaCha20/100x40    10.651µ ± 0%   5.135µ ± 0%  -51.79% (p\u003d0.000 n\u003d20)\nChaCha20/65536     143.43µ ± 0%   28.76µ ± 0%  -79.95% (p\u003d0.000 n\u003d20)\nChaCha20/1000x65   146.17µ ± 0%   37.13µ ± 0%  -74.60% (p\u003d0.000 n\u003d20)\ngeomean             5.721µ        1.962µ       -65.70%\n\n                 |  bench.old   |               bench.new                |\n                 |     B/s      |      B/s       vs base                 |\nChaCha20/64        355.1Mi ± 0%    383.1Mi ± 0%    +7.89% (p\u003d0.000 n\u003d20)\nChaCha20/256       412.2Mi ± 0%   1710.2Mi ± 0%  +314.86% (p\u003d0.000 n\u003d20)\nChaCha20/10x25     242.9Mi ± 0%    459.6Mi ± 0%   +89.19% (p\u003d0.000 n\u003d20)\nChaCha20/4096      434.5Mi ± 0%   2255.8Mi ± 0%  +419.22% (p\u003d0.000 n\u003d20)\nChaCha20/100x40    358.1Mi ± 0%    742.9Mi ± 0%  +107.44% (p\u003d0.000 n\u003d20)\nChaCha20/65536     435.8Mi ± 0%   2173.2Mi ± 0%  +398.72% (p\u003d0.000 n\u003d20)\nChaCha20/1000x65   424.1Mi ± 0%   1669.4Mi ± 0%  +293.64% (p\u003d0.000 n\u003d20)\ngeomean            373.9Mi         1.065Gi       +191.55%\n\ngoos: linux\ngoarch: loong64\npkg: golang.org/x/crypto/chacha20\ncpu: Loongson-3A5000 @ 2500.00MHz\n                 |  bench.old   |              bench.new              |\n                 |    sec/op    |   sec/op     vs base                |\nChaCha20/64         234.5n ± 0%   295.8n ± 0%  +26.14% (p\u003d0.000 n\u003d20)\nChaCha20/256        782.0n ± 0%   274.6n ± 0%  -64.88% (p\u003d0.000 n\u003d20)\nChaCha20/10x25     1340.0n ± 0%   752.7n ± 0%  -43.83% (p\u003d0.000 n\u003d20)\nChaCha20/4096      11.744µ ± 0%   3.455µ ± 0%  -70.58% (p\u003d0.000 n\u003d20)\nChaCha20/100x40    14.151µ ± 0%   7.435µ ± 0%  -47.46% (p\u003d0.000 n\u003d20)\nChaCha20/65536     188.05µ ± 0%   54.33µ ± 0%  -71.11% (p\u003d0.000 n\u003d20)\nChaCha20/1000x65   191.44µ ± 0%   66.29µ ± 0%  -65.37% (p\u003d0.000 n\u003d20)\ngeomean             7.604µ        3.436µ       -54.81%\n\n                 |  bench.old   |               bench.new                |\n                 |     B/s      |      B/s       vs base                 |\nChaCha20/64        260.3Mi ± 0%    206.3Mi ± 0%   -20.73% (p\u003d0.000 n\u003d20)\nChaCha20/256       312.2Mi ± 0%    888.9Mi ± 0%  +184.75% (p\u003d0.000 n\u003d20)\nChaCha20/10x25     177.9Mi ± 0%    316.8Mi ± 0%   +78.08% (p\u003d0.000 n\u003d20)\nChaCha20/4096      332.6Mi ± 0%   1130.8Mi ± 0%  +239.95% (p\u003d0.000 n\u003d20)\nChaCha20/100x40    269.6Mi ± 0%    513.1Mi ± 0%   +90.34% (p\u003d0.000 n\u003d20)\nChaCha20/65536     332.4Mi ± 0%   1150.5Mi ± 0%  +246.16% (p\u003d0.000 n\u003d20)\nChaCha20/1000x65   323.8Mi ± 0%    935.2Mi ± 0%  +188.81% (p\u003d0.000 n\u003d20)\ngeomean            281.3Mi         622.6Mi       +121.31%\n\nChange-Id: I5386f2029122076c1d22a04610567e3df23877cd\nReviewed-on: https://go-review.googlesource.com/c/crypto/+/636257\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: abner chenc \u003cchenguoqi@loongson.cn\u003e\nReviewed-by: Carlos Amedee \u003ccarlos@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0d9547ed8e240cae0df24e37c8b9692f5b973cb5",
      "new_mode": 33188,
      "new_path": "chacha20/chacha_loong64.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "831ebf4922086d8626194ae494b739fdd8727f4b",
      "new_mode": 33188,
      "new_path": "chacha20/chacha_loong64.s"
    },
    {
      "type": "modify",
      "old_id": "c709b728477d10fc8738d6e254584e766c86b0a8",
      "old_mode": 33188,
      "old_path": "chacha20/chacha_noasm.go",
      "new_id": "3853cc0e0b926d5a1c95ec4a207ebe7178162281",
      "new_mode": 33188,
      "new_path": "chacha20/chacha_noasm.go"
    }
  ]
}
