Andreas,
> pg relys on the OS readahead (== larger block IO) to do efficient IO.
> Basically the pg scan performance should match a dd if=file of=/dev/null
> bs=8k,
> unless CPU bound.
FWIW, we could improve performance by creating larger write blocks when
appropriate, particularly on Unixes like Solaris. But that's a bad
effort/result tradeoff for most OSes, so it's not the route I'd be
suggesting for general scans.
However, the external sort code could possibly be improved by more
appropriate block sizing, which I think someone has already suggested.
--Josh