Skip to content

Bump semver_dialects gem version

Igor Frenkel requested to merge ifrenkel/435272-licenses-update-semver-gem into master

What does this MR do and why?

Bump version of semver_dialects gem from 1.5.0 to 1.6.0 This version has performance improvements which improve performance of license scanning features. This improves issues with request timeouts on various pages such as license compliance or the pipelines page.

Some testing data is available here: #435272 (comment 1735216681)

Profiling info for my gdk for a pipeline with 9000 components shows the Kernel#Integer call (causing the performance degradation) go from taking 31% to 3.2% of request time. As a result the overall request time has fallen to 11s from 22s+.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots

Before After
~20s load time ~10s load time
semver_dialects.1.5.0.left-heavy semver_dialects.1.6.0.left-heavy

How to set up and validate locally

For both the master and this branch in your local gdk:

  1. Check out this branch
  2. Create project by importing 2024-01-23_17-32-260_root_rack-timeout-test_export.tar.gz (10k sbom components)
  3. Pipelines > Run Pipeline against add-sboms branch
  4. Load the pipeline page and open the Wall flamegraph (keep this tab open for quick comparison or export it)
  5. Check out master branch
  6. gdk restart rails-web
  7. Re-run step 4, compare load time as well as flamegraph

Related: #435272 (closed)

Edited by Igor Frenkel

Merge request reports