[libcxx-commits] [libcxx] [libc++] Speed up classic locale (PR #72112)

Dmitry Vyukov via libcxx-commits libcxx-commits at lists.llvm.org
Sun Nov 26 21:59:58 PST 2023


dvyukov wrote:

I've re-run `ninja check-cxx` on the latest version and it passed. The change also shows comparable performance improvement.

I am going to merge it now. Let's see if it sticks.

```
                                       │ ./bench/stream.baseline.res │         bench/stream.latest.res         │
                                       │           sec/op            │    sec/op     vs base                   │
Istream_numbers/0/real_time/threads:1                    4.686µ ± 0%   4.482µ ±  0%   -4.35% (p=0.000 n=24+30)
Istream_numbers/0/real_time/threads:72                 339.712µ ± 4%   9.567µ ±  1%  -97.18% (p=0.000 n=24+30)
Istream_numbers/1/real_time/threads:1                    4.900µ ± 0%   4.810µ ±  0%   -1.84% (p=0.000 n=24+30)
Istream_numbers/1/real_time/threads:72                   49.31µ ± 3%   10.12µ ±  1%  -79.47% (p=0.000 n=24+30)
Istream_numbers/2/real_time/threads:1                    4.902µ ± 0%   4.831µ ±  7%   -1.45% (p=0.037 n=24+30)
Istream_numbers/2/real_time/threads:72                   416.6µ ± 9%   424.0µ ± 15%        ~ (p=0.993 n=24+30)
Istream_numbers/3/real_time/threads:1                    4.716µ ± 0%   4.764µ ±  0%   +1.01% (p=0.000 n=24+30)
Istream_numbers/3/real_time/threads:72                   419.7µ ± 6%   400.9µ ±  5%        ~ (p=0.116 n=24+30)
Ostream_number/0/real_time/threads:1                     184.0n ± 1%   144.0n ±  7%  -21.74% (p=0.000 n=24+30)
Ostream_number/0/real_time/threads:72                  17279.0n ± 4%   339.0n ±  0%  -98.04% (p=0.000 n=24+30)
Ostream_number/1/real_time/threads:1                     253.5n ± 1%   195.0n ±  1%  -23.08% (p=0.000 n=24+30)
Ostream_number/1/real_time/threads:72                  13957.5n ± 2%   412.0n ±  0%  -97.05% (p=0.000 n=24+30)
Ostream_number/2/real_time/threads:1                     253.0n ± 1%   195.0n ±  1%  -22.92% (p=0.000 n=24+30)
Ostream_number/2/real_time/threads:72                    28.04µ ± 4%   18.52µ ± 19%  -33.97% (p=0.000 n=24+30)
Ostream_number/3/real_time/threads:1                     187.0n ± 1%   187.0n ±  0%        ~ (p=0.943 n=24+30)
Ostream_number/3/real_time/threads:72                    20.25µ ± 7%   19.80µ ±  7%        ~ (p=0.473 n=24+30)
geomean                                                  8.260µ        3.463µ        -58.08%
```

https://github.com/llvm/llvm-project/pull/72112


More information about the libcxx-commits mailing list