Linked by Thom Holwerda on Thu 3rd May 2012 21:26 UTC, submitted by PhilJ
OpenBSD Theo de Raadt has announced the release of OpenBSD 5.1. The OpenBSD 5.1 release page has a detailed list of all changes and improvements. As always, I would love for someone to write proper items about OpenBSD releases - it's outside my interests and cursory glances don't do it justice.
Permalink for comment 517173
To read all comments associated with this story, please click here.
RE[2]: Comment by marcp
by sakeniwefu on Sat 5th May 2012 14:25 UTC in reply to "RE: Comment by marcp"
sakeniwefu
Member since:
2008-02-26


I only use OpenBSD in infrastructure roles though so maybe this is a problem more noticed on the desktop.


There is a noticeable slowdown on the "desktop". I suspect the main culprits are a) userthreads and b) malloc.

a) Using userthreads means a huge multithreaded program is running on a single cpu core wasting all the threading overhead.

b) OpenBSD malloc is pretty complex and has many features - most importantly ASLR which consumes high quality random numbers on a regular basis. There is no way it could outperform a decent performance-optimized malloc. Huge multithreaded programs tend to allocate and deallocate thousands of objects every millisecond so it ends up adding up.

On the command line, most programs a) use SMP-enabled processes instead of threads and b) are written in C which means all allocations are planned. It is perfectly possible they could outperform an out of the box Linux with many daemons half-idling in the background.

I certainly don't have any complaint about make -j 6 in /GENERIC.MP.

OpenBSD 5.2 will include SMP-enabled rthreads by default so I expect to see a boost in "desktop" performance. malloc is less likely to improve but memmap is getting reworked, which could lead to a faster implementation.

NOTE: The network stack runs in kernel and thus it won't scale over 1 core until the kernel itself becomes multithreaded.

Reply Parent Score: 2