From 18710d7c43311178f7f067bfd2a05bfa548b243d Mon Sep 17 00:00:00 2001 From: Michael Go Date: Wed, 20 Nov 2024 13:37:09 -0400 Subject: [PATCH] debug: track expression parse time --- lib/liquid/context.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/liquid/context.rb b/lib/liquid/context.rb index 19daaeb7..901e098e 100644 --- a/lib/liquid/context.rb +++ b/lib/liquid/context.rb @@ -176,7 +176,12 @@ module Liquid # Example: # products == empty #=> products.empty? def [](expression) - evaluate(Expression.parse(expression)) + start = Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond) + expression_parse_result = Expression.parse(expression) + duration = Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond) - start + registers.static[:expression_parse_duration] ||= 0 + registers.static[:expression_parse_duration] += duration + evaluate(expression_parse_result) end def key?(key)