Skip to content

Memory optimization for Ci::Variables::Collection*

Summary

Local testing;

curl --output local_mr_memory.txt 'http://gdk.test:3000/api/v4/projects/99/merge_requests/1/pipelines?performance_bar=memory' \
  ...
  --data-raw '{}'

Result;

...
allocated memory by file
-----------------------------------
 198.53 MB  gitlab/lib/gitlab/ci/variables/collection/item.rb
  89.56 MB  gitlab/lib/gitlab/ci/variables/collection.rb
  51.66 MB  gitlab/lib/gitlab/config/entry/configurable.rb
...
allocated memory by location
-----------------------------------
  70.42 MB  gitlab/lib/gitlab/ci/variables/collection/item.rb:64
  45.70 MB  gitlab/lib/gitlab/config/entry/configurable.rb:67
  44.79 MB  gitlab/lib/gitlab/ci/variables/collection.rb:28
...
Edited by Furkan Ayhan