Hi, On Thu, 8 Jan 2026 at 23:50, Manni Wood <[email protected]> wrote: > > I tested master (bfb335d) and v3 and v4.2 patches on an amazon ec2 instance > (t2.small) and, with Mark's help, proved that on such a small system with > default storage configured, IO will be the bottleneck and the v3 and v4.2 > patches show no significant differences over master because the CPU is always > waiting on IO. This is presumably an experience Postgres users will have when > running on systems with IO so slow that the CPU is always waiting for data.
I think this is expected and acceptable since there is no regression. > I went in the other direction and tested an all-RAM setup on my tower PC. I > put the entire data dir in RAM for each postgres instance (master, v3 patch, > v4.2 patch), and wrote and copied the test copyfiles from RAM. On Linux, > /ram/user/<myuserid> is tmpfs (ramdisk), so I just put everything there. I > had to shrink the data sizes compared to previous runs (to not run out of > ramdisk space) but Nazir's cpupower tips are making all of my test runs much > more uniform, so I no longer feel that I need huge data sizes to get good > results. This is an informative scenario to test, thank you for doing this. > Here are the results when all of the files are on RAM disks: > > master: bfb335df > > text, no special: 30372 > text, 1/3 special: 32665 > csv, no special: 34925 > csv, 1/3 special: 44044 > > v3 > > text, no special: 22840 (24.7% speedup) > text, 1/3 special: 32448 (0.6% speedup) > csv, no special: 22642 (35.1% speedup) > csv, 1/3 special: 46280 (5.1% regression) > > v4.2 > > text, no special: 22677 (25.3% speedup) > text, 1/3 special: 34512 (6.5% regression) > csv, no special: 22686 (35.0% speedup) > csv, 1/3 special: 51411 (16.7% regression) > > Assuming all-storage-is-RAM setups get us closer to the theoretical limit of > each patch, it looks like v3 holds up quite well to v4.2 in the best case > scenarios, while v3 has better performance than v4.2 in the worst-case > scenarios.! I agree with you, I think all-storage-is-RAM is the best scenario to benchmark regressions. Your all-storage-is-RAM benchmark results are similar to your normal benchmark here [1]. I expect the regressions in the all-storage-is-RAM results to be worse than [1] since the effect of SIMD will be more visible as there is no IO wait. What do you think about that? [1] https://postgr.es/m/CAKWEB6qQmPejLwndzMcVqhO%2Bu9vgUf44kYAKg4QtyG-%3DKH%3DYGg%40mail.gmail.com -- Regards, Nazir Bilal Yavuz Microsoft
