mleku @mleku - 6mo
now with the pubkey encoding as binary... not as dramatic an improvement it seems oh well, anyway, it's done now, both id and pubkey fields now do not need any hex encode/decode so that's still a good thing last is the signature... this will be another 5-10 ops more i figure, then i'm gonna get out the profiler goos: linux goarch: amd64 pkg: mleku.net/nostrbench cpu: AMD Ryzen 5 PRO 4650G with Radeon Graphics BenchmarkBinaryEncoding/event2.MarshalJSON-12 14 72883244 ns/op BenchmarkBinaryEncoding/event2.EventToBinary-12 166 7090886 ns/op BenchmarkBinaryEncoding/easyjson.Marshal-12 67 18620409 ns/op BenchmarkBinaryEncoding/gob.Encode-12 19 62998941 ns/op BenchmarkBinaryEncoding/binary.Marshal-12 10 110464204 ns/op BenchmarkBinaryDecoding/event2.UnmarshalJSON-12 13 87762713 ns/op BenchmarkBinaryDecoding/event2.BinaryToEvent-12 100 12388974 ns/op BenchmarkBinaryDecoding/easyjson.Unmarshal-12 57 23463646 ns/op BenchmarkBinaryDecoding/gob.Decode-12 5 226411371 ns/op BenchmarkBinaryDecoding/binary.Unmarshal-12 123 8851251 ns/op #devstr #benchmark #nostr
since switching up the binary encoder for sure the relay is running way way faster... also because i fixed the shit slow logging library, that was a big part of it, none of these other libraries even have logging! if mine has an error it prints a log! so it's still faster and dev friendly at the same time
bah humbug of course i has bugs now, very weirdness
it looks like i broke the filters, that would be why it returns zero counts all the time and zero results get sent, and then idk why not sending eose either, but hey gotta expect gotchas like this... i'll fix em tomorrow most likely, and become aware of how they got broken so when i do the signatures i don't get surprised like this