Hello,
> If all the data is in memory and you have a system with fast fsyncs (or
> are running with fsync off, or unlogged tables, or synchronous_commit
> off), then the big bottleneck in pgbench is the amount of back and forth
> between the pgbench program and the backend.
Sure. The throughput of a benchmark depends on a bottleneck which may be
disk ios, cpu, network, load... depending on the test conditions.
I tested quite a few variants for my PgDay Paris 2017 talk, including PL
functions, see https://wiki.postgresql.org/wiki/PgDay_Paris_2017.
--
Fabien.