From 0e997ab3f9673383aa32310f71b87a91e92881f2 Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Mon, 13 Dec 2021 16:38:33 +0100
Subject: util.format: Optimize most common integer format

A search for log formats in use points to %s being the most common,
followed by %d, so worth having a fast path for that. %g works well with
most numbers and is what Lua 5.1 and 5.2 used
---
 util/format.lua | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'util')

diff --git a/util/format.lua b/util/format.lua
index e93c9096..1cd8d81b 100644
--- a/util/format.lua
+++ b/util/format.lua
@@ -69,6 +69,8 @@ local function format(formatstring, ...)
 		if option == "s" and t == "string" and not arg:find("[%z\1-\31\128-\255]") then
 			-- No UTF-8 or control characters, assumed to be the common case.
 			return
+		elseif t == "number" then
+			if option == "g" or (option == "d" and num_type(arg) == "integer") then return end
 		elseif option == "s" and t ~= "string" then
 			arg = tostring(arg);
 			t = "string";
-- 
cgit v1.2.3