From: gotoken@... (GOTO Kentaro) Date: 2001-01-10T08:32:20+09:00 Subject: [ruby-talk:8968] Benchmark is updated Hi, I've added bmbm to Benchmark module. From benchmark.html: bmbm ---------- bmbm([label_width]) do |x| x.item("label1") { .... } .... end ---------- bmbm is yet another benchmark. This utility function is provited to prevent a kind of job order dependency, which is caused by memory allocation and object creation. The usage is similar to bm but has less options and does extra three things: 1. Rehearsal: runs all items in the job list to allocate enough memory. 2. GC: before each measurement, invokes GC.start to prevent the influence of previous job. 3. If given label_width is less than the maximal width of labels given as item's argument, the latter is used. Because bmbm is a 2-pass procedure, this is possible. Thanks, -- Gotoken