#15731
Run runsc from the //:release layout in docs and CI.
This is a stack of PRs that removes a lot of dependency edges between the Sentry and the runsc binaries.
This gets rid of many redundant package init()s, and slims down binaries.
Cumulatively, this stack of PRs:
- Shaves off 23% cold-start and 9% warm-start latency.
- Slims down the gVisor release size from 224.7 MiB to 156.6 MiB thanks to
removal of redundant dependencies across binaries.
runscshrinks from 54 MiB to 18 MiB.
End-to-end sandbox run result running runsc do /bin/true on n2-standard-16:
│ before │ after │
│ sec/op │ sec/op vs base │
RunscDo/cache=warm 39.68m ± 0% 36.08m ± 0% -9.07% (n=700)
RunscDo/cache=cold 231.1m ± 0% 178.0m ± 0% -22.96% (n=700)
OCI/op=create 27.04m ± 0% 24.03m ± 0% -11.11% (n=500)
OCI/op=start 14.50m ± 0% 11.68m ± 1% -19.45% (n=500)
OCI/op=delete 7.147m ± 0% 4.673m ± 1% -34.62% (n=500)
OCI/op=create+start 41.58m ± 0% 35.78m ± 0% -13.95% (n=500)
OCI/op=end-to-end 48.74m ± 0% 40.43m ± 0% -17.04% (n=500)Similar for rootless mode:
│ before │ after │
│ sec/op │ sec/op vs base │
RunscDo 44.67m ± 0% 39.56m ± 0% -11.43% (n=500)
OCI/op=create 32.99m ± 0% 29.98m ± 0% -9.13% (n=500)
OCI/op=start 15.93m ± 0% 12.73m ± 0% -20.07% (n=500)
OCI/op=delete 8.361m ± 0% 5.761m ± 0% -31.11% (n=500)
OCI/op=create+start 48.89m ± 0% 42.72m ± 0% -12.61% (n=500)
OCI/op=end-to-end 57.28m ± 0% 48.44m ± 0% -15.42% (n=500)The PR stack:
- (you are here) PR #15731
- PR #15694
- PR #15695
- PR #15696
- PR #15697
- PR #15698
- PR #15699
- PR #15700
- PR #15701
- PR #15702
- PR #15703
- PR #15732
- PR #15733
Activity
0No activity yet.