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

rspec / rspec-expectations / 835 / 5
97%
master: 89%

Build:
Build:
LAST BUILD BRANCH: autoload-benchmark
DEFAULT BRANCH: master
Ran 15 Oct 2013 01:50AM UTC
Files 43
Run time –
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

15 Oct 2013 01:50AM UTC coverage: 97.187%. First build
jruby-19mode

push

travis-ci

myronmarston
Add benchmarks for the new implementation of the custom matcher DSL.

Results are includde for:

- MRI 2.0.0, MRI 1.9.3, JRuby 1.7.4
- Against 2.14.3, 3.0.0.pre before matcher DSL rewrite, 3.0.0.pre after matcher DSL rewrite

Conclusions:

* Getting an instance of a custom matcher was insanely slow in 2.x,
  and it looks like the `making_declared_methods_public` hack for 1.8.6
  was the primary source of that. Without that, getting an instance of
  a matcher is ~20x faster. To see what changed between 2.14.3 and
  the commit used for this benchmark, go to:
  https://github.com/rspec/rspec-expectations/compare/v2.14.3...4c47e4c43#diff-a51020971ade2c87f1d5b93f20d711c7L6
* With our new custom matcher DSL, using a matcher is approximately
  the same perf. However, defining a matcher is about 10x slower
  (since it defines a subclass) while getting an instance of
  an already defined matcher is about 10x faster.

Overall, I think this is a net win, because users almost certainly
use existing matchers more often then they define them.  (The exception
would be if they define custom matchers they don't use, but that
would be very odd).

Closes #338.

1451 of 1493 relevant lines covered (97.19%)

42.93 hits per line

Source Files on job 835.5 (jruby-19mode)
  • Tree
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 835
  • Travis Job 835.5
  • 3822c601 on github
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