Just benchmarked. #nostrdb can parse+verify 4GB of contact lists (50,000 x 84kb) in 1.6 seconds on my m2

https://cdn.jb55.com/s/3bad7b62628973d2.txt

Reply to this note

Please Login to reply.

Discussion

💅

🤙🏻🤙🏻🤙🏻🤙🏻🤙🏻

🤯

That's a fast parse! I'm assuming the 4GB is preloaded in RAM before the parse starts? Or the read and parse are parallel.

Right now the contact list is loaded into ram and then memcpied for every call to ndb_process_event, this is a share-nothing architecture so no ownership state is assumed at the start of the pipeline, but the ownership is transferred between ingester and writer threads without a memcpy.

Eventually when I integrate web sockets into this it would then transfer the ownership off the socket to the ingester thread with no memcpy.

I love my m2 MBair…probably the best one they’ve built since the first aluminum body MacBook back in 09/10.

👀