Doug Hoyte on Nostr: 600ms seems too long for that set size. I will take a look at the performance when I ...
600ms seems too long for that set size. I will take a look at the performance when I have my Rust harness working. Let's make sure it's working the same way as the C++/JS impls first, and then we can see if there any speed-ups.
One optimisation I did in the C++ was to ensure that the XORing is always done word-wise, instead of byte-for-byte. In fact, with attention to the alignment, I got the compiler to emit PXOR SIMD instructions to do multiple words in a single instruction.
That's very cool about the UniFFI bindings, I'm looking forward to it!
Published at
2023-09-12 07:13:09Event JSON
{
"id": "aa3059d3924fb25d9275e5f5decbc201f49a363e422b387a0bd7e2dbf64ea55b",
"pubkey": "218238431393959d6c8617a3bd899303a96609b44a644e973891038a7de8622d",
"created_at": 1694502789,
"kind": 1,
"tags": [
[
"e",
"0ac14895356511ee786de1fb0c20cd7c3351fa216663dc1999e882b7db02b953",
"",
"root"
],
[
"e",
"7633f28df33d0a7333617678a4054387cfceb7dd648954d7f357352027c809e6",
"",
"reply"
],
[
"p",
"68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272"
],
[
"p",
"218238431393959d6c8617a3bd899303a96609b44a644e973891038a7de8622d"
]
],
"content": "600ms seems too long for that set size. I will take a look at the performance when I have my Rust harness working. Let's make sure it's working the same way as the C++/JS impls first, and then we can see if there any speed-ups.\n\nOne optimisation I did in the C++ was to ensure that the XORing is always done word-wise, instead of byte-for-byte. In fact, with attention to the alignment, I got the compiler to emit PXOR SIMD instructions to do multiple words in a single instruction.\n\nThat's very cool about the UniFFI bindings, I'm looking forward to it!",
"sig": "b8e5b24f1a31db867c62b20fd5f74fad9adc7889c435c72b7d143d9850c585835e0ecc9abf5bc983ad26bdacd58bb305b9107a5e0e7cad2edaa5dd54aa9bac7f"
}