[Update Oct 22 2003]: While I received a lot of verbal abuse from OpenBSD users, the OpenBSD project itself is focusing on solving the issues; the 1024 cylinder limit is apparently being worked on, and the fork panic has been reproduced and a bug has been opened in the bug tracking system.
[Update Oct 23 2003]: Please see this update as well. The OpenBSD project has several patches pending in -CURRENT to speed up bottlenecks identified in these benchmarks, so the next update will probably look much better for OpenBSD.
[Update Nov 1 2003]: To my knowledge OpenBSD still has not integrated all the patches, so I have not redone all my benchmarks. However, Ted Unangst wrote me to explain the weird touch-after-mmap behaviour. It turns out that OpenBSD's buffer cache is not unified in that if you read something with read/pread and then mmap and touch it, the value is read from disk again. OpenBSD apparently has a unified buffer cache in the works, but it is not there. Ted suggested changing my mmap benchmark to improve the OpenBSD graph, but I think that would not be fair. I, for once, have always used cat to put databases into the buffer cache that are later accessed by a process with random access patters (djbdns, openldap).