• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ruby-grape / grape / 26722632890 / 16
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: perf/lazy-param-scope-tracker
DEFAULT BRANCH: master
Ran 31 May 2026 07:47PM UTC
Files 165
Run time 9s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

31 May 2026 07:45PM UTC coverage: 95.668% (+0.006%) from 95.662%
26722632890.16

Pull #2753

github

ericproulx
Lazy-allocate ParamScopeTracker's identity hashes

ParamScopeTracker eagerly built two {}.compare_by_identity hashes in its
constructor, so every validating request allocated both even though many
validators (presence, coercion of flat params) never touch either tracker.

Replace the eager initialize with memoized private accessors that allocate
each hash on first use. Behaviour is unchanged: reads still return nil /
EMPTY_PARAMS when nothing was stored.

In a mixed-endpoint memory_profiler run this drops the two allocation sites
from ~1,900 to ~500 objects each (~0.72 MB / ~2,800 fewer objects overall).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pull Request #2753: Lazy-allocate ParamScopeTracker's identity hashes

1079 of 1191 branches covered (90.6%)

Branch coverage included in aggregate %.

3492 of 3587 relevant lines covered (97.35%)

969.69 hits per line

Source Files on job run-4.0-gemfiles/rack_3_2.gemfile - 26722632890.16
  • Tree
  • List 165
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 26722632890
  • 3b786394 on github
  • Prev Job for on perf/lazy-param-scope-tracker (#26681995871.15)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc