datadog-agent
datadog-agent copied to clipboard
zstd PoC
What does this PR do?
Results (go_mod_tidy_check plays the role of a typical retriver here):
| step | gzip | zstd |
|---|---|---|
go_deps script step |
217sec | 120sec |
go_deps upload artifact |
77sec (pretty surprising) | 81sec |
artifact size (modcache.tar.XX) |
2.06GB | 1.9GB |
go_mod_tidy_check download artifact |
49sec | 43sec |
go_mod_tidy_check script step |
54sec | 51sec |
the compression is faster, the upload/download is faster (because smaller file), the decompression is theoretically faster
Tradeoff: zstd needs to be installed in all build images (and manually in *_x64 because not available via package manager)
TODO:
- [ ] merge buildimages PR and update tags
- [ ] merge images PR (used by serverless test) and update tags
Motivation
Additional Notes
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
Reviewer's Checklist
- [ ] If known, an appropriate milestone has been selected; otherwise the
Triagemilestone is set. - [ ] Use the
major_changelabel if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote. - [ ] A release note has been added or the
changelog/no-changeloglabel has been applied. - [ ] Changed code has automated tests for its functionality.
- [ ] Adequate QA/testing plan information is provided if the
qa/skip-qalabel is not applied. - [ ] At least one
team/..label has been applied, indicating the team(s) that should QA this change. - [ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
- [ ] If applicable, the
need-change/operatorandneed-change/helmlabels have been applied. - [ ] If applicable, the
k8s/<min-version>label, indicating the lowest Kubernetes version compatible with this feature. - [ ] If applicable, the config template has been updated.