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

ruby-grape / grape / 38960106391
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: perf/lean-endpoint-copy
DEFAULT BRANCH: master
Ran 16 Oct 2026 08:11PM UTC
Jobs 32
Files 168
Run time 1min
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

16 Oct 2026 08:08PM UTC coverage: 99.966%. Remained the same
38960106391

Pull #3034

github

ericproulx
Copy each request's endpoint from a prototype without route-building state

Every request dups its endpoint's prototype, and that copy was the largest
single allocation of a request. Ruby sizes an object by the most instance
variables any object of its class has held, and a copy carried 23: the
route-building state (@prototype, @endpoints, @namespace, @routes,
@helpers), one ivar per filter phase, and the request's own. That put every
copy in a 320-byte slot.

The prototype is now always a separate object that leaves the
route-building state out, @helpers is a local of compile!, and the five
filter phases share one ivar: the frozen callbacks Hash, or nil when no
phase has a filter, so that #run skips all five on one ivar read. A copy
holds 15 and fits a 160-byte slot, with room for three more ivars set by a
route block or a helper. The definition-time endpoint stays under the limit
as well, which matters because without helpers it is a Grape::Endpoint just
like its copies.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pull Request #3034: Copy each request's endpoint from a prototype without route-building state

1510 of 1511 branches covered (99.93%)

Branch coverage included in aggregate %.

20 of 20 new or added lines in 1 file covered. (100.0%)

4409 of 4410 relevant lines covered (99.98%)

29694.53 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.4-gemfiles/rails_7_2.gemfile - 38960106391.1 16 Oct 2026 08:12PM UTC 168
98.8
GitHub Action Run
2 run-3.3-gemfiles/rails_8_0.gemfile - 38960106391.2 16 Oct 2026 08:12PM UTC 168
98.82
GitHub Action Run
3 run-4.0-gemfiles/multi_json_1_20.gemfile - 38960106391.3 16 Oct 2026 08:11PM UTC 166
45.9
GitHub Action Run
4 run-4.0-gemfiles/rack_3_2.gemfile - 38960106391.4 16 Oct 2026 08:11PM UTC 167
98.8
GitHub Action Run
5 run-4.0-gemfiles/multi_xml.gemfile - 38960106391.5 16 Oct 2026 08:11PM UTC 166
45.56
GitHub Action Run
6 run-3.3-gemfiles/rack_3_2.gemfile - 38960106391.6 16 Oct 2026 08:11PM UTC 167
98.82
GitHub Action Run
7 run-3.4-gemfiles/rails_8_1.gemfile - 38960106391.7 16 Oct 2026 08:13PM UTC 168
98.8
GitHub Action Run
8 run-3.4-gemfiles/rails_8_0.gemfile - 38960106391.8 16 Oct 2026 08:12PM UTC 168
98.8
GitHub Action Run
9 run-4.0-gemfiles/rack_2_2.gemfile - 38960106391.9 16 Oct 2026 08:12PM UTC 167
98.77
GitHub Action Run
10 run-3.3-gemfiles/rack_3_0.gemfile - 38960106391.10 16 Oct 2026 08:13PM UTC 167
98.82
GitHub Action Run
11 run-3.4-Gemfile - 38960106391.11 16 Oct 2026 08:12PM UTC 167
98.8
GitHub Action Run
12 run-4.0-gemfiles/rack_3_1.gemfile - 38960106391.12 16 Oct 2026 08:13PM UTC 167
98.8
GitHub Action Run
13 run-4.0-gemfiles/rails_8_1.gemfile - 38960106391.13 16 Oct 2026 08:12PM UTC 168
98.8
GitHub Action Run
14 run-4.0-gemfiles/grape_swagger.gemfile - 38960106391.14 16 Oct 2026 08:11PM UTC 166
53.1
GitHub Action Run
15 run-3.3-gemfiles/rails_8_1.gemfile - 38960106391.15 16 Oct 2026 08:11PM UTC 168
98.82
GitHub Action Run
16 run-3.3-gemfiles/rack_3_1.gemfile - 38960106391.16 16 Oct 2026 08:11PM UTC 167
98.82
GitHub Action Run
17 run-4.0-gemfiles/grape_entity.gemfile - 38960106391.17 16 Oct 2026 08:12PM UTC 166
48.77
GitHub Action Run
18 run-4.0-gemfiles/multi_xml_0_8.gemfile - 38960106391.18 16 Oct 2026 08:11PM UTC 166
45.59
GitHub Action Run
19 run-4.0-gemfiles/rails_8_0.gemfile - 38960106391.19 16 Oct 2026 08:12PM UTC 168
98.8
GitHub Action Run
20 run-4.0-gemfiles/multi_json.gemfile - 38960106391.20 16 Oct 2026 08:12PM UTC 166
45.87
GitHub Action Run
21 run-4.0-gemfiles/hashie.gemfile - 38960106391.21 16 Oct 2026 08:12PM UTC 166
59.81
GitHub Action Run
22 run-3.4-gemfiles/rack_3_2.gemfile - 38960106391.22 16 Oct 2026 08:13PM UTC 167
98.8
GitHub Action Run
23 run-3.3-gemfiles/rack_2_2.gemfile - 38960106391.23 16 Oct 2026 08:12PM UTC 167
98.78
GitHub Action Run
24 run-3.4-gemfiles/rack_2_2.gemfile - 38960106391.24 16 Oct 2026 08:12PM UTC 167
98.77
GitHub Action Run
25 run-3.3-gemfiles/rails_7_2.gemfile - 38960106391.25 16 Oct 2026 08:11PM UTC 168
98.82
GitHub Action Run
26 run-4.0-Gemfile - 38960106391.26 16 Oct 2026 08:11PM UTC 167
98.8
GitHub Action Run
27 run-3.4-gemfiles/rack_3_0.gemfile - 38960106391.27 16 Oct 2026 08:12PM UTC 167
98.8
GitHub Action Run
28 run-3.4-gemfiles/rack_3_1.gemfile - 38960106391.28 16 Oct 2026 08:12PM UTC 167
98.8
GitHub Action Run
29 run-4.0-gemfiles/dry_validation.gemfile - 38960106391.29 16 Oct 2026 08:12PM UTC 166
55.83
GitHub Action Run
30 run-3.3-Gemfile - 38960106391.30 16 Oct 2026 08:11PM UTC 167
98.82
GitHub Action Run
31 run-4.0-gemfiles/rails_7_2.gemfile - 38960106391.31 16 Oct 2026 08:12PM UTC 168
98.8
GitHub Action Run
32 run-4.0-gemfiles/rack_3_0.gemfile - 38960106391.32 16 Oct 2026 08:12PM UTC 167
98.8
GitHub Action Run
Source Files on build 38960106391
  • Tree
  • List 168
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #38960106391
  • Pull Request #3034
  • PR Base - master (#38951491706)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc