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 = { '&' => '&amp;', '>' => '&gt;', '<' => '&lt;', '"' => '&quot;', "'" => '&#39;' } + 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