Re: pgstattuple: Use streaming read API in pgstatindex functions
От | Xuneng Zhou |
---|---|
Тема | Re: pgstattuple: Use streaming read API in pgstatindex functions |
Дата | |
Msg-id | CABPTF7WU7ibRkVh2a1uh3dwjmSs_-HxtyAHcu6S_r5ZLT9Hh1Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pgstattuple: Use streaming read API in pgstatindex functions (Nazir Bilal Yavuz <byavuz81@gmail.com>) |
Ответы |
Re: pgstattuple: Use streaming read API in pgstatindex functions
|
Список | pgsql-hackers |
Hi, On Mon, Oct 13, 2025 at 5:42 PM Nazir Bilal Yavuz <byavuz81@gmail.com> wrote: > > Hi, > > On Mon, 13 Oct 2025 at 11:42, Xuneng Zhou <xunengzhou@gmail.com> wrote: > > > > Here is patch v3. The comments have been added, and the extra scope > > ({}) has been removed as suggested. > > Thanks, the code looks good to me! > > The benchmark results are nice. I have a quick question about the > setup, if you are benchmarking with the default io_method (worker), > then the results might show the combined benefit of async I/O and > streaming I/O, rather than just streaming I/O alone. If that is the > case, I would suggest also running a benchmark with io_method=sync to > isolate the performance impact of streaming I/O. You might get > interesting results. The previous benchmark was conducted using the default io_method=worker. The following results are from a new benchmark run with io_method=sync. The performance gains from streaming reads are still present, though smaller than those observed when asynchronous I/O and streaming I/O are combined — which is expected. Thanks for the suggestion! Fragmented Indexes (Cold Cache) Index Type Size Baseline Patched Speedup Primary Key Medium 43.80 ms 38.61 ms 1.13× Primary Key Large 238.24 ms 202.47 ms 1.17× Primary Key XLarge 962.90 ms 793.57 ms 1.21× Timestamp Medium 33.34 ms 29.98 ms 1.11× Timestamp Large 190.41 ms 161.34 ms 1.18× Timestamp XLarge 794.52 ms 647.82 ms 1.22× Float (score) Medium 14.46 ms 13.51 ms 1.06× Float (score) Large 87.38 ms 77.22 ms 1.13× Float (score) XLarge 278.47 ms 233.22 ms 1.19× Composite (3 col) Medium 44.49 ms 40.10 ms 1.10× Composite (3 col) Large 244.86 ms 211.01 ms 1.16× Composite (3 col) XLarge 1073.32 ms 872.42 ms 1.23× ________________________________ Fragmented Indexes (Warm Cache) Index Type Size Baseline Patched Speedup Primary Key Medium 7.91 ms 7.88 ms 1.00× Primary Key Large 35.58 ms 36.41 ms 0.97× Primary Key XLarge 126.29 ms 126.95 ms 0.99× Timestamp Medium 5.14 ms 6.82 ms 0.75× Timestamp Large 22.96 ms 29.55 ms 0.77× Timestamp XLarge 104.26 ms 106.01 ms 0.98× Float (score) Medium 3.76 ms 4.18 ms 0.90× Float (score) Large 13.65 ms 13.01 ms 1.04× Float (score) XLarge 40.58 ms 41.28 ms 0.98× Composite (3 col) Medium 8.23 ms 8.25 ms 0.99× Composite (3 col) Large 37.10 ms 37.59 ms 0.98× Composite (3 col) XLarge 139.89 ms 138.21 ms 1.01× Best, Xuneng
Вложения
В списке pgsql-hackers по дате отправления: