benchmark/html_escape.rb in escape_utils-0.2.4 vs benchmark/html_escape.rb in escape_utils-0.3.0
- old
+ new
@@ -17,11 +17,11 @@
end
times = 100
url = "http://en.wikipedia.org/wiki/Line_of_succession_to_the_British_throne"
html = `curl -s #{url}`
-html = html.force_encoding('binary') if html.respond_to?(:force_encoding)
+html = html.force_encoding('utf-8') if html.respond_to?(:force_encoding)
puts "Escaping #{html.bytesize} bytes of html #{times} times, from #{url}"
Benchmark.bmbm do |x|
x.report "Rack::Utils.escape_html" do
times.times do
@@ -45,10 +45,17 @@
times.times do
CGI.escapeHTML(html)
end
end
+ x.report "String#gsub" do
+ html_escape = { '&' => '&', '>' => '>', '<' => '<', '"' => '"', "'" => ''' }
+ times.times do
+ html.gsub(/[&"'><]/, html_escape)
+ end
+ end
+
x.report "fast_xs_extra#fast_xs_html" do
times.times do
html.fast_xs_html
end
end
@@ -56,6 +63,6 @@
x.report "EscapeUtils.escape_html" do
times.times do
EscapeUtils.escape_html(html)
end
end
-end
\ No newline at end of file
+end