Files
bitcoin/src/util
Lőrinc e7114fc6dc optimization: migrate fixed-size obfuscation from std::vector<std::byte> to uint64_t
All former `std::vector<std::byte>` keys were replaced with `uint64_t` (we still serialize them as vectors but convert immediately to `uint64_t` on load).
This is why some tests still generate vector keys and convert them to `uint64_t` later instead of generating them directly.

In `Obfuscation::Unserialize` we can safely throw an `std::ios_base::failure` since during mempool fuzzing `mempool_persist.cpp#L141` catches and ignored these errors.

>  C++ compiler .......................... GNU 14.2.0

|             ns/byte |              byte/s |    err% |        ins/byte |        cyc/byte |    IPC |       bra/byte |   miss% |     total | benchmark
|--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:----------
|                0.04 |   28,365,698,819.44 |    0.0% |            0.34 |            0.13 |  2.714 |           0.07 |    0.0% |      5.33 | `ObfuscationBench`

> C++ compiler .......................... Clang 20.1.7

|             ns/byte |              byte/s |    err% |        ins/byte |        cyc/byte |    IPC |       bra/byte |   miss% |     total | benchmark
|--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:----------
|                0.08 |   13,012,464,203.00 |    0.0% |            0.65 |            0.28 |  2.338 |           0.13 |    0.8% |      5.50 | `ObfuscationBench`

Co-authored-by: Hodlinator <172445034+hodlinator@users.noreply.github.com>
Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2025-07-16 14:33:07 -07:00
..
2023-03-23 12:55:18 +01:00
2024-08-06 01:38:10 +02:00
2024-08-06 01:38:10 +02:00
2021-05-11 10:38:18 +02:00
2022-12-24 23:49:50 +00:00
2024-01-05 11:22:31 +01:00
2021-12-30 19:36:57 +02:00
2022-12-24 23:49:50 +00:00
2025-07-09 13:57:54 +02:00
2025-07-09 13:57:54 +02:00
2021-03-04 18:24:00 +01:00
2024-01-05 11:22:31 +01:00
2024-06-11 16:28:11 +00:00