-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtest_all.rb
38 lines (28 loc) · 1.41 KB
/
test_all.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
pwd = `pwd`.strip
ENV.delete 'LD_PRELOAD'
ENV.keys.each do |k|
if k =~ /^RUBY_/
ENV.delete k
end
end
puts `ruby --version`
mem,duration = `ruby stress_mem.rb`.strip.split(",")
puts "built-in mem: #{mem} duration: #{duration}"
mem,duration = `MALLOC_ARENA_MAX=2 ruby stress_mem.rb`.strip.split(",")
puts "built-in mem (MALLOC_ARENA_MAX=2): #{mem} duration: #{duration}"
mem,duration = `LD_PRELOAD=#{pwd}/mimalloc_lib/libmimalloc.so ruby stress_mem.rb`.strip.split(",")
puts "mimalloc master: #{mem} duration: #{duration}"
mem,duration = `LD_PRELOAD=#{pwd}/rpmalloc_lib/librpmallocwrap.so ruby stress_mem.rb`.strip.split(",")
puts "rpmalloc master: #{mem} duration: #{duration}"
Dir["tcmalloc_lib/*"].sort.each do |path|
mem,duration = `LD_PRELOAD=#{pwd}/#{path}/lib/libtcmalloc_minimal.so ruby stress_mem.rb`.strip.split(",")
puts "#{path.gsub('_lib/', ' ')} mem: #{mem} duration: #{duration}"
end
Dir["jemalloc_lib/*"].sort.each do |path|
mem,duration = `LD_PRELOAD=#{pwd}/#{path}/lib/libjemalloc.so ruby stress_mem.rb`.strip.split(",")
puts "#{path.gsub('_lib/', ' ')} mem: #{mem} duration: #{duration}"
end
mem,duration = `LD_PRELOAD=#{pwd}/lockless_allocator/libllalloc.so.1.4 ruby stress_mem.rb`.strip.split(",")
puts "lockless 1.4 mem: #{mem} duration: #{duration}"
mem,duration = `LD_PRELOAD=#{pwd}/Hoard/src/libhoard.so ruby stress_mem.rb`.strip.split(",")
puts "Hoard HEAD mem: #{mem} duration: #{duration}"