istio: Go binary size regression
Agent: master: 110m 1.6: 74m 1.5: 68m 1.4: 38m
Pilot: master: 108m 1.6: 90m 1.5: 84m 1.4: 65m
Measured with
for tag in master 1.6.0 1.5.0 1.4.0; do
echo $tag
git checkout $tag
go build -o /tmp/agent ./pilot/cmd/pilot-discovery
ll /tmp/agent
echo
done
My theory is the 1.4 -> 1.5 regression in agent is for gateway SDS (pulls in k8s) and then 1.6 -> master regression is google.golang.org/api/compute/v1
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 15 (15 by maintainers)
Commits related to this issue
- Remove conflicting STATIC variable from build We currently set `STATIC=0 LDFLAGS='-extldflags -static -s -w'` as part of the build. This does not make much sense, since STATIC sets LDFLAGS to empty, ... — committed to howardjohn/istio by howardjohn 4 years ago
- Remove conflicting STATIC variable from build (#28151) We currently set `STATIC=0 LDFLAGS='-extldflags -static -s -w'` as part of the build. This does not make much sense, since STATIC sets LDFLAGS t... — committed to istio/istio by howardjohn 4 years ago
- Trim agent binary by 11mb by conditionally compiled XDS filters Part of https://github.com/istio/istio/issues/26232 75mb -> 64mb We could have also done massive refactoring to avoid using build tag... — committed to howardjohn/istio by howardjohn 4 years ago
- Move fake XDS server into dedicated package Aside from general code hygiene, this is required by https://github.com/istio/istio/issues/26232 to allow the agent to be built without importing the entir... — committed to howardjohn/istio by howardjohn 4 years ago
- Remove staticinit gen I am not sure what changed between this being added and now, but I am fairly sure this is not needed know, as its not possible to import collections without importing the packag... — committed to howardjohn/istio by howardjohn 4 years ago
- Trim agent binary by 14mb by conditionally compiled XDS filters (#28670) * Trim agent binary by 11mb by conditionally compiled XDS filters Part of https://github.com/istio/istio/issues/26232 75mb -... — committed to istio/istio by howardjohn 4 years ago
- Remove staticinit gen (#28692) I am not sure what changed between this being added and now, but I am fairly sure this is not needed know, as its not possible to import collections without importing t... — committed to istio/istio by howardjohn 4 years ago
- Trim agent binary by 14mb by conditionally compiled XDS filters (#28670) * Trim agent binary by 11mb by conditionally compiled XDS filters Part of https://github.com/istio/istio/issues/26232 75mb -... — committed to howardjohn/istio by howardjohn 4 years ago
- Trim agent binary by 14mb by conditionally compiled XDS filters (#28670) * Trim agent binary by 11mb by conditionally compiled XDS filters Part of https://github.com/istio/istio/issues/26232 75mb -... — committed to howardjohn/istio by howardjohn 4 years ago
- Trim agent binary by 14mb by conditionally compiled XDS filters (#28670) (#28718) * Trim agent binary by 11mb by conditionally compiled XDS filters Part of https://github.com/istio/istio/issues/2623... — committed to istio/istio by howardjohn 4 years ago
- Trim agent binary by 14mb by conditionally compiled XDS filters (#28670) (#28717) * Trim agent binary by 11mb by conditionally compiled XDS filters Part of https://github.com/istio/istio/issues/2623... — committed to istio/istio by howardjohn 4 years ago
- Split remaining Kubernetes imports from agent * Move mesh configmap watcher out of the core `mesh` package * Move security kubernetes `util`s to its own package This drops the Kubernetes dependency ... — committed to howardjohn/istio by howardjohn 4 years ago
- Split remaining Kubernetes imports from agent (#29003) * Move mesh configmap watcher out of the core `mesh` package * Move security kubernetes `util`s to its own package This drops the Kubernetes de... — committed to istio/istio by howardjohn 4 years ago
- Trim agent binary by 14mb by conditionally compiled XDS filters (#28670) * Trim agent binary by 11mb by conditionally compiled XDS filters Part of https://github.com/istio/istio/issues/26232 75mb -... — committed to daixiang0/istio by howardjohn 4 years ago
Here is the actual effect on memory. Unshared ~= resident - shared. TLDR; 1.7 Is using
~15 MB
per pod more for istio-agent, which I don’t think is release blocking.Unshared memory costs increase per pod, whereas shared memory costs increase per node.