stat /etc/localtime 38000 times on startup?
I just traced starting up a postmaster, and got over 38000 lines like this:
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
I assume it comes from the timezone library, but it seems highly
inefficient. Anyone know why we might get this?
cheers
andrew
I just traced starting up a postmaster, and got over 38000
lines like this:stat64("/etc/localtime", {st_mode=S_IFREG|0644,
st_size=1267, ...}) = 0I assume it comes from the timezone library, but it seems
highly inefficient. Anyone know why we might get this?
Without digging into details, I would guess htat comes from the probing
of available timezones to find one that matches the current one. We do a
whole lot of setting/resetting the TZ there - but only during postmaster
startup.
//Magnus
Import Notes
Resolved by subject fallback
Andrew Dunstan <andrew@dunslane.net> writes:
I just traced starting up a postmaster, and got over 38000 lines like this:
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
I assume it comes from the timezone library, but it seems highly
inefficient. Anyone know why we might get this?
glibc's strftime does that if you don't have a TZ value set in the
postmaster's environment.
http://archives.postgresql.org/pgsql-hackers/2005-10/msg00884.php
regards, tom lane