Yea, essentially the main issue with performance on citrine was that I was not using suspend functions in the room dao operations, it would lock the database until a query completes and it would not cancel coroutines when needed.

I haven't done any benchmarks but using lmdb from rust-nostr seens faster, don't have the 100-200 memory limit of android apps but I loose everything else like flows, group events by kind etc

Haven't tried nostrdb yet

Using sqlite I still have to test if I can improve some index and I always have to remember of the memory limitations, if anything tries to get all events from a big database I have a oom and the app crashes

Reply to this note

Please Login to reply.

Discussion

Where does Citrine store the events? I've got 200 GB empty, on my phone, and I'm thinking that could be a lot of books and magazines and research papers. And I could add more.

Some people have iPhones with a TB.

I guess that sounds nuts, but I have a thing for books.