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_example_test.go rpc: make ExampleClientSubscription work with the geth API (#19483) 2020-04-27 17:25:24 +02:00
client_opt_test.go node, rpc: add JWT auth support in client (#24911) 2022-09-02 17:40:41 +02:00
client_opt.go eth, rpc: add configurable option for wsMessageSizeLimit (#27801) 2023-10-03 03:23:19 -04:00
client_test.go core, trie, rpc: speed up tests (#28461) 2023-11-21 12:19:28 +01:00
client.go rpc: add method to test for subscription support (#25942) 2023-06-14 14:04:41 +02: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_test.go metrics/librato: ensure resp.body closed (#26969) 2023-03-27 07:44:41 -04:00
http.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
inproc.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
ipc.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +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_test.go rpc: fix erroneous error-message in test (#28227) 2023-10-03 07:48:36 -04:00
server.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02: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_test.go rpc: improve performance of subscription notification encoding (#28328) 2023-11-22 11:24:54 +01:00
subscription.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_test.go rpc: use correct stringer-method for serializing BlockNumberOrHash (#28358) 2023-10-25 15:52:42 +02:00
types.go rpc: use correct stringer-method for serializing BlockNumberOrHash (#28358) 2023-10-25 15:52:42 +02:00
websocket_test.go rpc: increase timeout in TestClientWebsocketPing (#28371) 2023-10-19 10:08:36 +02:00
websocket.go eth, rpc: add configurable option for wsMessageSizeLimit (#27801) 2023-10-03 03:23:19 -04:00