[tz] localtime_r multiple times slower for Europe/Moscow timezone

Walt Mankowski waltman at pobox.com
Tue Jan 10 23:43:55 UTC 2023


Interesting! I can confirm that I also see this in Ubuntu
22.10. However, I do NOT see it on macOS 13.1.

Walt

On Wed, Jan 11, 2023 at 12:15:53AM +0100, Benjamin Drung via tz wrote:
> Hi,
> 
> a Ubuntu user has been reporting in https://launchpad.net/bugs/868395
> that the Europe/Moscow timezone is multiple times slower than other
> timezones. Here is the example bug.c code:
> 
> ```
> #include <time.h>
> #include <stdio.h>
> 
> int main() {
>   time_t t = time(0);
>   int i;
>   struct tm result;
>   for(i=0; i < 10000000; i++)
>     localtime_r(&t, &result);
>   puts(ctime(&t));
>   return 0;
> }
> ```
> 
> Compile and run this code:
> 
> ```
> gcc -o bug bug.c
> time TZ=Etc/UTC ./bug
> time TZ=Europe/Berlin ./bug
> time TZ=Europe/Moscow ./bug
> ```
> 
> The result on my machine is that Etc/UTC, Europe/Berlin, and other
> timezones take around 250 to 400 ms, but Europe/Moscow takes 1200 ms.
> The result is the same when running in a Debian unstable, Ubuntu 22.04
> (jammy) and Ubuntu 23.04 (lunar) chroot.
> 
> Is that a bug? If yes, is that a bug in glibc?
> 
> -- 
> Benjamin Drung
> Debian & Ubuntu Developer


More information about the tz mailing list