From: Eric Wong Date: 2014-02-18T23:53:15+00:00 Subject: [ruby-core:60847] Re: [ruby-trunk - Feature #9113] Ship Ruby for Linux with jemalloc out-of-the-box sam.saffron@gmail.com wrote: > An artificial test is: > > @retained = [] > > MAX_STRING_SIZE = 100 > > def stress(allocate_count, retain_count, chunk_size) Note: I think we should seed the RNG to a constant to have consistent data between runs srand(123) > chunk = [] > while retain_count > 0 || allocate_count > 0 > if retain_count == 0 || (Random.rand < 0.5 && allocate_count > 0) > chunk << " " * (Random.rand * MAX_STRING_SIZE).to_i > allocate_count -= 1 > if chunk.length > chunk_size > chunk = [] > end > else > @retained << " " * (Random.rand * MAX_STRING_SIZE).to_i > retain_count -= 1 > end > end > end Sam: Thank you! I think we should integrate this test into the mainline benchmark suite. Perhaps even provide an option to run with all the existing tests with the big @retained array. ko1: what do you think?