Profiles in nostrdb (#1520)

This adds profiles to nostrdb and replaces our in-memory and ProfileDatabase cache with it

- Remove in-memory Profiles caches, nostrdb is as fast as an in-memory cache

- Remove ProfileDatabase and just use nostrdb directly

## TODO

- [ ] cache lnurl properly

- [ ] add database versions for migrations

nostrdb-profiles, 5 commits

https://github.com/damus-io/damus/pull/1520

Reply to this note

Please Login to reply.

Discussion

Awesome. Could you share the benchmark results please?

I have benchmarks in the nostrdb repo. The lookup perf for notes and profiles is so fast it barely registers in the profiler. Its in the nanosecond ranges. Since the data is already the in-memory representation (flatbuffers) the data is ready to go instantly. Its just pointers to virtual memory

The only risk of perf is page faulting, but I haven’t really noticed it

I have zero idea what you're talking about 99% of the time but I'm excited for what Nostr is and could be and am glad to be here.