Draft: Transition json encoding/decoding to goccy/go-json
What does this MR do?
This MR is an exploration in reducing the memory footprint of the gemnasium analyzers
and in the future the sbom generators. The biggest consumer of memory is the JSON encoding/decoding
that occurs when we parse packages/dependencies from files. The move to github.com/goccy/go-json
brings a lot of improvements that help here like the removal of reflection.
before
after
What are the relevant issue numbers?
N/A
Does this MR meet the acceptance criteria?
-
Changelog entry added -
Documentation created/updated for GitLab EE, if necessary -
Documentation created/updated for this project, if necessary -
Documentation reviewed by technical writer or follow-up review issue created -
Tests added for this feature/bug -
Job definition updated, if necessary -
Conforms to the code review guidelines -
Conforms to the Go guidelines -
Security reports checked/validated by reviewer
Edited by Oscar Tovar