xP: use the binary protocol for incoming events

And batch event messages together as much as possible.

JSON has proven itself to be really slow
(for example, encoding/json.Marshaler is a slow interface),
and browsers have significant overhead per WS message.

Commands are still sent as JSON, sending them in binary
would be a laborious rewrite without measurable merits.

The xP server now only prints debug output when requested,
because that was another source of major slowdowns.
This commit is contained in:
2022-09-15 22:45:14 +02:00
parent e87cc90b5e
commit 6f39aa6615
5 changed files with 413 additions and 139 deletions

1
xP/.gitignore vendored
View File

@@ -1,3 +1,4 @@
/xP
/proto.go
/public/proto.js
/public/mithril.js