|
390 | 390 | assert_includes result, "- ***: p < 0.001, **: p < 0.01, *: p < 0.05 (Welch's t-test)" |
391 | 391 | end |
392 | 392 |
|
| 393 | + it 'includes RSS ratio legend when include_rss is true' do |
| 394 | + ruby_descriptions = { |
| 395 | + 'ruby-base' => 'ruby 3.3.0', |
| 396 | + 'ruby-yjit' => 'ruby 3.3.0 +YJIT' |
| 397 | + } |
| 398 | + table = [ |
| 399 | + ['bench', 'ruby-base (ms)', 'stddev (%)', 'RSS (MiB)', 'ruby-yjit (ms)', 'stddev (%)', 'RSS (MiB)', 'ruby-yjit 1st itr', 'ruby-base/ruby-yjit', 'RSS ruby-base/ruby-yjit'], |
| 400 | + ['fib', '100.0', '5.0', '10.0', '50.0', '3.0', '12.0', '2.000', '2.000', '0.833'] |
| 401 | + ] |
| 402 | + format = ['%s', '%.1f', '%.1f', '%.1f', '%.1f', '%.1f', '%.1f', '%.3f', '%s', '%.3f'] |
| 403 | + bench_failures = {} |
| 404 | + |
| 405 | + result = BenchmarkRunner.build_output_text( |
| 406 | + ruby_descriptions, table, format, bench_failures, include_rss: true |
| 407 | + ) |
| 408 | + |
| 409 | + assert_includes result, '- RSS ruby-base/ruby-yjit: ratio of ruby-base/ruby-yjit RSS. Higher is better for ruby-yjit. Above 1 means lower memory usage.' |
| 410 | + end |
| 411 | + |
| 412 | + it 'omits RSS ratio legend when include_rss is false' do |
| 413 | + ruby_descriptions = { |
| 414 | + 'ruby-base' => 'ruby 3.3.0', |
| 415 | + 'ruby-yjit' => 'ruby 3.3.0 +YJIT' |
| 416 | + } |
| 417 | + table = [ |
| 418 | + ['bench', 'ruby-base (ms)', 'stddev (%)', 'ruby-yjit (ms)', 'stddev (%)'], |
| 419 | + ['fib', '100.0', '5.0', '50.0', '3.0'] |
| 420 | + ] |
| 421 | + format = ['%s', '%.1f', '%.1f', '%.1f', '%.1f'] |
| 422 | + bench_failures = {} |
| 423 | + |
| 424 | + result = BenchmarkRunner.build_output_text( |
| 425 | + ruby_descriptions, table, format, bench_failures |
| 426 | + ) |
| 427 | + |
| 428 | + refute_includes result, 'RSS ruby-base/ruby-yjit' |
| 429 | + end |
| 430 | + |
393 | 431 | it 'includes formatted table in output' do |
394 | 432 | ruby_descriptions = { 'ruby' => 'ruby 3.3.0' } |
395 | 433 | table = [ |
|
0 commit comments