fiatjaf
c64ebde59d
fix sonic parsing req envelopes with limit/since/until.
2025-03-14 20:08:56 -03:00
fiatjaf
cecc71cd81
fix and improve envelope stuff again, deal with messages as strings on all envelope parsing steps.
2025-03-12 00:18:11 -03:00
fiatjaf
a37dd05344
remove simdjson because sonic is just better.
2025-03-07 21:49:48 -03:00
fiatjaf
7c57ad860a
add more ParseMessage tests.
2025-03-07 15:50:55 -03:00
fiatjaf
8d7e854779
some fixes to sonic and make it faster by reusing arrays.
...
BenchmarkParseMessage/relay/jsonstdlib-4 216 5651451 ns/op
BenchmarkParseMessage/relay/easyjson-4 313 3703457 ns/op
BenchmarkParseMessage/relay/simdjson-4 469 2606309 ns/op
BenchmarkParseMessage/relay/sonic-4 966 1268594 ns/op
BenchmarkParseMessage/client/jsonstdlib-4 216 5524239 ns/op
BenchmarkParseMessage/client/easyjson-4 422 2756370 ns/op
BenchmarkParseMessage/client/simdjson-4 519 2298477 ns/op
BenchmarkParseMessage/client/sonic-4 644 1860583 ns/op
2025-03-07 15:38:22 -03:00
fiatjaf
39bde22639
sonic ast visitor approach. now we're getting faster.
...
BenchmarkParseMessage/relay/jsonstdlib-4 206 8630635 ns/op
BenchmarkParseMessage/relay/easyjson-4 278 4311793 ns/op
BenchmarkParseMessage/relay/simdjson-4 422 2943387 ns/op
BenchmarkParseMessage/relay/sonic-4 849 1576884 ns/op
BenchmarkParseMessage/client/jsonstdlib-4 196 6140585 ns/op
BenchmarkParseMessage/client/easyjson-4 385 2826706 ns/op
BenchmarkParseMessage/client/simdjson-4 405 2628675 ns/op
BenchmarkParseMessage/client/sonic-4 552 2413731 ns/op
2025-03-07 11:03:09 -03:00
fiatjaf
c9411a3c5b
depressing sonic json decoder implementation, breakingly force COUNT to use a single filter, reorganize envelope tests.
2025-03-06 19:34:36 -03:00
fiatjaf
4fb6fcd9a2
make simdjson great again.
...
now it is generally a little faster than the easyjson approach.
goos: linux
goarch: amd64
pkg: github.com/nbd-wtf/go-nostr
cpu: AMD Ryzen 3 3200G with Radeon Vega Graphics
BenchmarkParseMessage/stdlib-4 90 15616341 ns/op
BenchmarkParseMessage/easyjson-4 110 11306466 ns/op
BenchmarkParseMessage/simdjson-4 162 7779856 ns/op
PASS
ok github.com/nbd-wtf/go-nostr 5.547s
2025-03-05 23:56:15 -03:00
fiatjaf
a82780e82e
fix these simdjson benchmarks so others can run them.
2025-02-26 17:12:49 -03:00
fiatjaf
56e9a5a709
implement envelope, event and filter parsing with simdjson-go.
2025-02-25 17:57:15 -03:00
fiatjaf
72d9aac9b1
replace all ocurrences of encoding/json with json-iterator so we get rid of HTML escaping and hopefully get faster too.
2024-12-03 00:49:27 -03:00
K
c91e7b9765
using testify instead of testing.T methods. ( #143 )
2024-09-09 07:20:56 -03:00
fiatjaf
abe84f9089
improve COUNT envelope codec and add a test.
2024-05-20 08:26:13 -03:00
fiatjaf
b43d0e374a
reorder json serialization to write "kind" first and adjust tests.
2024-04-25 18:30:38 -03:00
fiatjaf
1bccebbf2a
fix ParseMessage() so it works with CLOSED and improve tests.
2023-12-09 11:29:14 -03:00
fiatjaf
fa20f84ec7
support CLOSED messages.
2023-11-28 18:25:46 -03:00
fiatjaf
29646d8bec
fix ok envelope test.
...
fixes https://github.com/nbd-wtf/go-nostr/pull/106
2023-11-05 13:35:45 -03:00
boreq
b984a598cb
Fix panic in ParseMessage
...
There is a chance the function can panic if a comma is included in the
input which is invalid.
2023-06-20 12:13:48 -03:00
Isaque Veras
58d56abe05
fix: removing redundancy
2023-06-12 08:18:29 -03:00
fiatjaf
f7ce78d7f8
add custom envelope types with json codecs.
2023-05-09 16:31:10 -03:00