diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-03-27 14:36:01 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-04-03 11:26:05 +0000 |
| commit | fed899ed4a625d124a881a2da67430be5d15325c (patch) | |
| tree | 9138f5c2f506b22efb1a84af5a1d21063f9b3dfd /vm/vmimpl | |
| parent | afbcc4a93d840f52b2579530d638654a4a1e5447 (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.go | 12 |
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) |
