go-ethereum/rpc
Delweng d6cea4832a
rpc: improve performance of subscription notification encoding (#28328)
It turns out that encoding json.RawMessage is slow because
package json basically parses the message again to ensure it is valid.
We can avoid the slowdown by encoding the entire RPC notification once,
which yields a 30% speedup.
2023-11-22 11:24:54 +01:00
..
testdata rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
client.go rpc: add method to test for subscription support (#25942) 2023-06-14 14:04:41 +02:00
client_example_test.go rpc: make ExampleClientSubscription work with the geth API (#19483) 2020-04-27 17:25:24 +02:00
client_opt.go eth, rpc: add configurable option for wsMessageSizeLimit (#27801) 2023-10-03 03:23:19 -04:00
client_opt_test.go node, rpc: add JWT auth support in client (#24911) 2022-09-02 17:40:41 +02:00
client_test.go core, trie, rpc: speed up tests (#28461) 2023-11-21 12:19:28 +01:00
context_headers.go rpc: support injecting HTTP headers through context (#26023) 2022-11-16 15:22:12 +01:00
doc.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
endpoints.go trie, rpc, cmd/geth: fix tests on 32-bit and windows + minor rpc fixes (#21871) 2020-11-19 22:50:47 +01:00
errors.go rpc: add method to test for subscription support (#25942) 2023-06-14 14:04:41 +02:00
handler.go rpc: add method to test for subscription support (#25942) 2023-06-14 14:04:41 +02:00
http.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
http_test.go metrics/librato: ensure resp.body closed (#26969) 2023-03-27 07:44:41 -04:00
inproc.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
ipc.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
ipc_js.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
ipc_unix.go rpc: avoid use of cgo by hard-coding maxPathSize (#27447) 2023-06-19 08:06:58 +02:00
ipc_windows.go rpc: use go-winio for named pipes (#27972) 2023-08-23 04:39:01 +02:00
json.go rpc: improve performance of subscription notification encoding (#28328) 2023-11-22 11:24:54 +01:00
metrics.go rpc: swap out timer metrics to histograms 2022-06-08 16:24:33 +03:00
server.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
server_test.go rpc: fix erroneous error-message in test (#28227) 2023-10-03 07:48:36 -04:00
service.go all: replace some cases of strings.SplitN with strings.Cut (#28446) 2023-11-15 14:42:33 +01:00
stdio.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
subscription.go rpc: improve performance of subscription notification encoding (#28328) 2023-11-22 11:24:54 +01:00
subscription_test.go rpc: improve performance of subscription notification encoding (#28328) 2023-11-22 11:24:54 +01:00
testservice_test.go eth, rpc: add configurable option for wsMessageSizeLimit (#27801) 2023-10-03 03:23:19 -04:00
types.go rpc: use correct stringer-method for serializing BlockNumberOrHash (#28358) 2023-10-25 15:52:42 +02:00
types_test.go rpc: use correct stringer-method for serializing BlockNumberOrHash (#28358) 2023-10-25 15:52:42 +02:00
websocket.go eth, rpc: add configurable option for wsMessageSizeLimit (#27801) 2023-10-03 03:23:19 -04:00
websocket_test.go rpc: increase timeout in TestClientWebsocketPing (#28371) 2023-10-19 10:08:36 +02:00