datadog-agent icon indicating copy to clipboard operation
datadog-agent copied to clipboard

zstd PoC

Open paulcacheux opened this issue 3 years ago • 0 comments

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 Triage milestone is set.
  • [ ] Use the major_change label 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-changelog label has been applied.
  • [ ] Changed code has automated tests for its functionality.
  • [ ] Adequate QA/testing plan information is provided if the qa/skip-qa label 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/operator and need-change/helm labels 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.

paulcacheux avatar Jul 29 '22 16:07 paulcacheux