so, buy a server with simd support and run it there.

Reply to this note

Please Login to reply.

Discussion

i didn't know we can use simd on golang. it's mostly available on rust/zig. if i found an ok solution and ive confirmed datacenters widely support it, i will make it available on immortal.

i like making event parsing/verification blazingly fast.

Please paste your benchmarks.

goos: linux

goarch: amd64

pkg: github.com/nbd-wtf/go-nostr

cpu: 12th Gen Intel(R) Core(TM) i3-12100F

BenchmarkParseMessage

BenchmarkParseMessage/golang

BenchmarkParseMessage/golang-8 162 6665196 ns/op

BenchmarkParseMessage/simdjson

BenchmarkParseMessage/simdjson-8 28 43713545 ns/op

PASS

ok github.com/nbd-wtf/go-nostr 3.138s

i was not aware of simdjson on go...

but it seems its for 2 years ago. forking it? you do it or i can go for it?

also, these stuff like simdjson and linsecp245k1 in golang has a lot of overhead, what is your opinion?

Why fork it? Why? What are you going to change in it?

last update is 2 years ago. not up to date with main simdjson library...

JSON hasn't changed much in this period.

what about simdjosn library? 🤔

https://github.com/simdjson/simdjson

lot of commits since then.

No one has posted a MacOS benchmark here, but apparenly on arm64 it is truly much faster than the alternatives, I don't understand why but maybe the library is broken for amd64, or my code is broken, but then it would be weird.

did you check simd support on amd64?