Use #each to avoid extra allocations

This commit is contained in:
Justin Li
2016-02-01 11:26:45 -05:00
parent 3891f14a1a
commit 60b508b151

View File

@@ -37,7 +37,10 @@ module Liquid
if val.instance_of?(String)
val.length
elsif val.instance_of?(Array) || val.instance_of?(Hash)
val.reduce(0) { |n, child| n + assign_score_of(child) }
sum = 1
# Uses #each to avoid extra allocations.
val.each { |child| sum += assign_score_of(child) }
sum
else
1
end