+4
-12
test.rb
+4
-12
test.rb
···
1
require 'json'
2
3
-
REGEXPS = [
4
-
/linux/i, /debian/i, /ubuntu/i, /\bredhat\b/i, /\bRHEL\b/, /\bSUSE\b/, /\bCentOS\b/, /\bopensuse\b/i,
5
-
/\bslackware\b/i, /\bKDE\b/, /\bGTK\d?\b/, /#GNOME\b/, /\bGNOME\s?\d+/, /\bkde plasma\b/i,
6
-
/apt\-get/, /\bflatpak\b/i, /\b[Xx]org\b/
7
-
]
8
9
-
posts = JSON.load(File.read(File.join(__dir__, 'atprotocoldev.json')))
10
loops = ARGV[0].to_i
11
12
if loops <= 0
···
17
time_start = Time.now
18
19
loops.times do
20
-
posts.each do |text|
21
-
match = REGEXPS.any? { |r| text =~ r }
22
-
end
23
end
24
25
time_end = Time.now
26
-
27
-
total = loops * posts.length
28
total_time = time_end - time_start
29
30
-
puts "#{loops} * #{posts.length} = #{total} records in #{total_time} -> #{total / total_time} records/s"
···
1
require 'json'
2
3
+
regexp = /\bslackware\b/i
4
+
test_post = "This isn’t a very long string – but it includes some non-ASCII™ characters…"
5
6
loops = ARGV[0].to_i
7
8
if loops <= 0
···
13
time_start = Time.now
14
15
loops.times do
16
+
test_post =~ regexp
17
end
18
19
time_end = Time.now
20
total_time = time_end - time_start
21
22
+
puts "#{loops} loops in #{total_time} -> #{loops / total_time} loops/s"