Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf(helm): load in-memory files #6383

Merged
merged 1 commit into from
Mar 29, 2024
Merged

Conversation

nikpivkin
Copy link
Contributor

@nikpivkin nikpivkin commented Mar 25, 2024

Description

Instead of copying files to a temporary folder, we can pass virutal files to helm, which improves performance.

benchstat old.txt new.txt
goos: darwin
goarch: arm64
pkg: github.com/aquasecurity/trivy/pkg/iac/scanners/helm/test
                    │   old.txt    │               new.txt               │
                    │    sec/op    │   sec/op     vs base                │
_RenderChartFiles-8   2138.1µ ± 2%   978.3µ ± 3%  -54.24% (p=0.000 n=10)

                    │   old.txt    │               new.txt               │
                    │     B/op     │     B/op      vs base               │
_RenderChartFiles-8   570.4Ki ± 0%   532.8Ki ± 0%  -6.59% (p=0.000 n=10)

                    │   old.txt   │              new.txt               │
                    │  allocs/op  │  allocs/op   vs base               │
_RenderChartFiles-8   7.714k ± 0%   7.476k ± 0%  -3.09% (p=0.000 n=10)

Checklist

  • I've read the guidelines for contributing to this repository.
  • I've followed the conventions in the PR title.
  • I've added tests that prove my fix is effective or that my feature works.
  • I've updated the documentation with the relevant information (if needed).
  • I've added usage information (if the PR introduces new options)
  • I've included a "before" and "after" example to the description (if the PR is a user interface change).

@nikpivkin nikpivkin marked this pull request as ready for review March 25, 2024 13:37
@nikpivkin nikpivkin requested a review from simar7 as a code owner March 25, 2024 13:37
Copy link
Member

@simar7 simar7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

@simar7
Copy link
Member

simar7 commented Mar 26, 2024

@nikpivkin just curious if there's any special handling that we need to perform with symlinks, or would this work with that as well?

@nikpivkin
Copy link
Contributor Author

nikpivkin commented Mar 26, 2024

@simar7 As far as I know, Trivy skips non-regular files, so they don't get into the virtual file system that post analysers work with.

@simar7
Copy link
Member

simar7 commented Mar 26, 2024

OK let's merge it in v0.51.0

@simar7 simar7 added this pull request to the merge queue Mar 29, 2024
Merged via the queue into aquasecurity:main with commit 1a67472 Mar 29, 2024
16 checks passed
@nikpivkin nikpivkin deleted the helm-load-files branch March 29, 2024 05:02
fl0pp5 pushed a commit to altlinux/trivy that referenced this pull request May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants