diff --git a/lib/liquid/block.rb b/lib/liquid/block.rb index 73d86c7b..19a76cb3 100644 --- a/lib/liquid/block.rb +++ b/lib/liquid/block.rb @@ -60,8 +60,11 @@ module Liquid @tag_name end + # Cache block delimiters per tag name to avoid repeated string allocation + BLOCK_DELIMITER_CACHE = Hash.new { |h, k| h[k] = "end#{k}".freeze } + def block_delimiter - @block_delimiter ||= "end#{block_name}" + @block_delimiter ||= BLOCK_DELIMITER_CACHE[block_name] end private