Ava Chow 10677713ca
Merge bitcoin/bitcoin#30396: random: add benchmarks and drop unnecessary Shuffle function
6ecda04fefad980872c72fba89844393f5581120 random: drop ad-hoc Shuffle in favor of std::shuffle (Pieter Wuille)
da28a26aae3178fb7663efbe20bb650857ace775 bench random: benchmark more functions, and add InsecureRandomContext (Pieter Wuille)
0a9bbc64c157a314e5472ecd98300e30b12d3fdf random bench refactor: move to new bench/random.cpp (Pieter Wuille)

Pull request description:

  This adds benchmarks for various operations on `FastRandomContext` and `InsecureRandomContext`, and then removes the ad-hoc `Shuffle` functions, now that it appears that standard library `std::shuffle` has comparable performance. The other reason for keeping `Shuffle`, namely the fact that libstdc++ used self-move (which debug mode panics on) has been fixed as well (see https://github.com/bitcoin/bitcoin/pull/29625#discussion_r1658344049).

ACKs for top commit:
  achow101:
    ACK 6ecda04fefad980872c72fba89844393f5581120
  hodlinator:
    ACK 6ecda04fefad980872c72fba89844393f5581120
  dergoegge:
    Code review ACK 6ecda04fefad980872c72fba89844393f5581120

Tree-SHA512: 2560b7312410581ff2b9bd0716e0f1558d910b5eadb9544785c972384985ac0f11f72d6b2797cfe2e7eb71fa57c30cffd98cc009cb4ee87a18b1524694211417
2024-07-09 17:52:47 -04:00
..
2024-06-13 11:20:49 +01:00
2024-06-18 18:47:51 +02:00
2024-05-20 16:48:19 +00:00
2023-10-12 11:27:19 +02:00
2024-04-10 17:01:27 +02:00
2024-06-13 11:20:49 +01:00
2024-03-04 19:53:30 -05:00
2023-12-11 18:22:13 +01:00
2023-11-16 11:36:22 +10:00
2023-09-13 11:37:45 +01:00
2024-05-20 16:48:19 +00:00
2024-05-14 10:24:31 +02:00
2024-05-14 10:24:31 +02:00
2024-06-21 09:42:32 +01:00
2024-04-01 14:37:24 -04:00
2024-04-01 14:37:24 -04:00
2023-11-16 11:36:22 +10:00