aboutsummaryrefslogtreecommitdiffstats
path: root/vm/vmimpl
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-03-27 14:36:01 +0100
committerDmitry Vyukov <dvyukov@google.com>2024-04-03 11:26:05 +0000
commitfed899ed4a625d124a881a2da67430be5d15325c (patch)
tree9138f5c2f506b22efb1a84af5a1d21063f9b3dfd /vm/vmimpl
parentafbcc4a93d840f52b2579530d638654a4a1e5447 (diff)
pkg/rpctype: make RPC compression optional
RPC compression take up to 10% of CPU time in profiles, but it's unlikely to be beneficial for local VM runs (we are mostly copying memory in this case). Enable RPC compression based on the VM type (local VM don't use it, remove machines use it).
Diffstat (limited to 'vm/vmimpl')
-rw-r--r--vm/vmimpl/vmimpl.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/vm/vmimpl/vmimpl.go b/vm/vmimpl/vmimpl.go
index a9afdc1f1..bd565c8aa 100644
--- a/vm/vmimpl/vmimpl.go
+++ b/vm/vmimpl/vmimpl.go
@@ -129,16 +129,18 @@ func (err InfraError) InfraError() (string, []byte) {
}
// Register registers a new VM type within the package.
-func Register(typ string, ctor ctorFunc, allowsOvercommit bool) {
+func Register(typ string, ctor ctorFunc, allowsOvercommit, netCompression bool) {
Types[typ] = Type{
- Ctor: ctor,
- Overcommit: allowsOvercommit,
+ Ctor: ctor,
+ Overcommit: allowsOvercommit,
+ NetCompression: netCompression,
}
}
type Type struct {
- Ctor ctorFunc
- Overcommit bool
+ Ctor ctorFunc
+ Overcommit bool
+ NetCompression bool
}
type ctorFunc func(env *Env) (Pool, error)