From f6c3a491ef014914524a98259a8679a5e4f64d57 Mon Sep 17 00:00:00 2001 From: ochko Date: Mon, 26 Mar 2012 20:05:48 +0900 Subject: use Array#join instead of concatenating (got 1 sec speed improvement for 1000 cells) --- lib/axlsx/workbook/worksheet/row.rb | 2 +- lib/axlsx/workbook/worksheet/worksheet.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/axlsx/workbook/worksheet/row.rb b/lib/axlsx/workbook/worksheet/row.rb index db7a56e5..cec2eb25 100644 --- a/lib/axlsx/workbook/worksheet/row.rb +++ b/lib/axlsx/workbook/worksheet/row.rb @@ -63,7 +63,7 @@ module Axlsx if custom_height? "%s" % [index+1, height, @cells.inject("") { |memo, obj| obj.to_xml_string }] else - "%s" % [index+1, @cells.inject("") { |memo, obj| memo.concat obj.to_xml_string }] + "%s" % [index+1, @cells.map{ |obj| obj.to_xml_string }.join] end end # Serializes the row diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index b6acad45..a85da6fc 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -386,7 +386,7 @@ module Axlsx str.concat '' end - str.concat "%s" % [@rows.reduce('') { |memo, obj| memo += obj.to_xml_string }] + str.concat "%s" % @rows.map { |obj| obj.to_xml_string }.join str.concat page_margins.to_xml_string if @page_margins str.concat "" % @auto_filter if @auto_filter str.concat "%s" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| "" % obj } ] unless @merged_cells.empty? -- cgit v1.2.3