Oddbean new post about | logout
 I believe I am pushing the limits here and gossip is handling it.  https://i.nostr.build/NPZl6bH1X5ofbkxE.png

@Mike Dilger thought you might like seein' this, your creation, runnin' wild over these 3k lists.  turns out, relays top out around 3k, need to patch strfry for greater lists. 
 been thinking about how to deal with these limit things and it seems to me that if you are building with paid customers in mind performance is the focus 
 ya the thing is, a list of 10k of scores, is almost a megabyte 
 so strfry hits some internal constant settings that need redefine way before that (around .3mb) 
 yeah, i'm keeping this in mind in my current work

i'm building something way way minimal and such extraenous bits and pieces are complexity i'm gonna avoid as much as possible unless actually necessary

complexity is death in software, i can't begin to explain how much easier it is when you ave something simple to make it work 
 btw, this was one of the major things i aimed at in my work since june... writing a nostr codec that stays binary in memory

and writing a max-fast binary encoder for the database

the binary codec is faster than anything and the memory utilization on events being natively binary saves typically over 128 bytes of space for each event, and even more if they have e or p tags, those also are stored binary in the encoder... i haven't written handling for that in the runtime form though, still hexadecimal string arrays

the binary codec: 

https://github.com/mleku/nostrbench

part of the reason my encodings are faster is also because the runtime binary form is also raw binary and not hex, so there is a missing step, and further, i use xhex, a SIMD hex codec

this is what the revised replicatr will be using, of course

i intend to make a branch specifically for the minimally configurable raw version once it's done, with no fancy, no limits, no nothing, something you can build a monster out of

fiatjaf was so far off the mark in his dismissing badger as the data store

it's only second to in-memory hashmaps 
 cause i was assuming it attempts profile syncs when i favorite the list, or maybe just as i scroll, either way, itzzz workin hard 😎🐡 
 👀
nostr:nevent1qqsqqqqz8tfedwxjtshetwvgmvy7rmga0mz3pqd4j0umv75mhy5tcsspz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygrucv52prwm9t7ln7d7w7l07nyrfz0lj7tjrqnav299gtej5frupcpsgqqqqqqszvycgv 
 Wow.