Global Feed Post Login
Replying to 21823843...

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!

Avatar
Yuki Kishimoto 2y ago

Performance issues should be solved now: reconciliation of 1 million ids took ~400 ms

Reply to this note

Please Login to reply.

Discussion

Avatar
Yuki Kishimoto 2y ago

Found another optimization: 1 million ids reconciled in ~100 ms

21
21823843... 2y ago

Awesome! I made a bit of progress on connecting the test harness, but I found an area where the implementations differ. I'm going to keep looking into it, but I wrote up what I've found so far here:

https://github.com/yukibtc/rust-negentropy/issues/1

Thread collapsed
Thread collapsed