Server : Apache System : Linux host44.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 User : vapecompany ( 2719) PHP Version : 7.4.33 Disable Function : NONE Directory : /opt/alt/ruby18/share/ri/1.8/system/Benchmark/ |
Upload File : |
--- !ruby/object:RI::MethodDescription aliases: [] block_params: job comment: - !ruby/struct:SM::Flow::P body: "Sometimes benchmark results are skewed because code executed earlier encounters different garbage collection overheads than that run later. #bmbm attempts to minimize this effect by running the tests twice, the first time as a rehearsal in order to get the runtime environment stable, the second time for real. <tt>GC.start</tt> is executed before the start of each of the real timings; the cost of this is not included in the timings. In reality, though, there's only so much that #bmbm can do, and the results are not guaranteed to be isolated from garbage collection and other effects." - !ruby/struct:SM::Flow::P body: "Because #bmbm takes two passes through the tests, it can calculate the required label width." - !ruby/struct:SM::Flow::VERB body: " require 'benchmark'\n\n array = (1..1000000).map { rand }\n\n Benchmark.bmbm do |x|\n x.report("sort!") { array.dup.sort! }\n x.report("sort") { array.dup.sort }\n end\n" - !ruby/struct:SM::Flow::P body: <em>Generates:</em> - !ruby/struct:SM::Flow::VERB body: " Rehearsal -----------------------------------------\n sort! 11.928000 0.010000 11.938000 ( 12.756000)\n sort 13.048000 0.020000 13.068000 ( 13.857000)\n ------------------------------- total: 25.006000sec\n\n user system total real\n sort! 12.959000 0.010000 12.969000 ( 13.793000)\n sort 12.007000 0.000000 12.007000 ( 12.791000)\n" - !ruby/struct:SM::Flow::P body: "#bmbm yields a Benchmark::Job object and returns an array of Benchmark::Tms objects." full_name: Benchmark#bmbm is_singleton: false name: bmbm params: (width = 0) {|job| ...} visibility: public