Ran
|
Jobs
5
|
Files
43
|
Run time
–
|
Badge
Embed ▾
README BADGES
|
push
travis-ci
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.
1516 of 1558 relevant lines covered (97.3%)
192.81 hits per line
ID | Job ID | Ran | Files | Coverage | |
---|---|---|---|---|---|
2 | 835.2 (1.9.2) | 43 |
97.01 |
Travis Job 835.2 | |
3 | 835.3 (1.9.3) | 43 |
97.01 |
Travis Job 835.3 | |
5 | 835.5 (jruby-19mode) | 43 |
97.19 |
Travis Job 835.5 | |
8 | 835.8 (rbx-19mode) | 37 |
98.85 |
Travis Job 835.8 | |
9 | 835.9 (2.0.0) | 43 |
96.94 |
Travis Job 835.9 |
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
---|