Skip to content

Commit 18ae73e

Browse files
committed
output: memoize calculate_timekey to reduce redundant calculations
Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
1 parent 357c753 commit 18ae73e

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

lib/fluent/plugin/output.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -927,11 +927,14 @@ def metadata(tag, time, record)
927927

928928
def calculate_timekey(time)
929929
time_int = time.to_i
930+
return @calculate_timekey_last_timekey if @calculate_timekey_last_time_int == time_int
931+
932+
@calculate_timekey_last_time_int = time_int
930933
if @timekey_use_utc
931-
(time_int - (time_int % @timekey)).to_i
934+
@calculate_timekey_last_timekey = (time_int - (time_int % @timekey)).to_i
932935
else
933936
offset = @calculate_offset ? @calculate_offset.call(time) : @offset
934-
(time_int - ((time_int + offset)% @timekey)).to_i
937+
@calculate_timekey_last_timekey = (time_int - ((time_int + offset) % @timekey)).to_i
935938
end
936939
end
937940

0 commit comments

Comments
 (0)