From: Nathan Bossart Date: Tue, 2 Apr 2024 15:32:49 +0000 (-0500) Subject: Avoid function call overhead of pg_popcount() in syslogger.c. X-Git-Tag: REL_17_BETA1~445 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=4133c1f45c54f0e52b4bb758f67af78951930e43;p=postgresql.git Avoid function call overhead of pg_popcount() in syslogger.c. Instead of calling the pg_popcount() function for a single byte, we can look up the value in the pg_number_of_ones array. Discussion: https://postgr.es/m/20240401221117.GB2362108%40nathanxps13 --- diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 08efe74cc91..437947dbb9d 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -898,7 +898,7 @@ process_pipe_input(char *logbuffer, int *bytes_in_logbuffer) if (p.nuls[0] == '\0' && p.nuls[1] == '\0' && p.len > 0 && p.len <= PIPE_MAX_PAYLOAD && p.pid != 0 && - pg_popcount((char *) &dest_flags, 1) == 1) + pg_number_of_ones[dest_flags] == 1) { List *buffer_list; ListCell *cell;