agora inbox for pgsql-hackers@postgresql.org  
help / color / mirror / Atom feed
[PATCH v1] Fix floating-point noise in pg_stat_us_to_ms()
1+ messages / 1 participants
[nested] [flat]

* [PATCH v1] Fix floating-point noise in pg_stat_us_to_ms()
@ 2026-06-29 06:31 Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
  0 siblings, 0 replies; 1+ messages in thread

From: Bertrand Drouvot @ 2026-06-29 06:31 UTC (permalink / raw)

Multiplying by 0.001 can produce trailing-digit noise in displayed
values (for example 0.009000000000000001 instead of 0.009, should extra_float_digits
not being set to 0) because 0.001 cannot be represented exactly in binary floating
point.

Use division by 1000.0 instead as it is the most common way to deal with such
computation in the code tree.

Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
---
 src/backend/utils/adt/pgstatfuncs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 100.0% src/backend/utils/adt/

diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c
index 6f9c9c72de5..1e5f8293b28 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -1457,7 +1457,7 @@ pgstat_get_io_time_index(IOOp io_op)
 static inline double
 pg_stat_us_to_ms(PgStat_Counter val_ms)
 {
-	return val_ms * (double) 0.001;
+	return (double) val_ms / 1000.0;
 }
 
 /*
-- 
2.34.1


--TXuqZKQhWXLuSKvO--





^ permalink  raw  reply  [nested|flat] 1+ messages in thread


only message in thread

Thread overview: 1+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 06:31 [PATCH v1] Fix floating-point noise in pg_stat_us_to_ms() Bertrand Drouvot <bertranddrouvot.pg@gmail.com>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox