Skip to content

Commit f3bfcf4

Browse files
committed
fix: add benchmarks
1 parent dc8c929 commit f3bfcf4

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

benchmarks/large_bytes.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
$LOAD_PATH.unshift '../lib'
2+
require 'zstd-ruby'
3+
require 'securerandom'
4+
5+
source_data = ""
6+
512.times { source_data += SecureRandom.uuid }
7+
8+
puts "source_data.size:#{source_data.size}"
9+
10+
# Test compressing and de-compressing our source data 100,000 times. The cycles
11+
# are intended to exercise the libary and reproduce a memory leak.
12+
100_000.times do |i|
13+
compressed_data = Zstd.compress(source_data)
14+
expanded_data = Zstd.decompress(compressed_data)
15+
unless expanded_data == source_data
16+
puts "Error: expanded data does not match source data"
17+
end
18+
if i % 1000 == 0
19+
puts " - #{i}: c:#{compressed_data.size} e:#{expanded_data.size} memory:#{`ps -o rss= -p #{Process.pid}`.to_i}"
20+
end
21+
22+
end

0 commit comments

Comments
 (0)