Subject: Re: Thread benchmarks
To: None <ad@NetBSD.org>
From: Warner Losh <imp@bsdimp.com>
List: tech-kern
Date: 09/28/2007 14:04:00
> Back in March I posted some MySQL benchmarks after we switched to a 1:1
> threading model in -current *. I've spent a lot of time tuning the pthread
> library so I thought I'd post a followup. The original benchmark that I used
> (supersmack) now performs much better on -current that it did a few months
> ago, so I picked something else this time: MySQL sysbench.
> 
> Most of the sysbench runs that I've seen to date have sysbench running on
> the same machine as the database. That's a good test but with the exception
> of small installations and out-of-band activity, production setups rarely
> look like that. So I ran sysbench itself on a seperate dual core system.
> 
> Here are the results, comparing NetBSD 3 with NetBSD-current:
> 
>         http://www.netbsd.org/~ad/sysbench/netbsd.png
> 
> And NetBSD-current compared to other systems:
> 
>         http://www.netbsd.org/~ad/sysbench/netbsd-and-others.png
> 
> Note this is stock NetBSD-current with FreeBSD's malloc() (jemalloc) in
> libc. I'll be merging that some time soon.

Which kernel config did you use for the FreeBSD results?  In tests
that have been run on p4 hardware, the FreeBSD system's graph looks
more like NetBSD's than the one presented here.  FreeBSD's kernel has
a lot of debugging options that hurt performance on by default.  Also,
FreeBSD's malloc defaults to 'AJ' in head, which would result in
reduced performance.

Warner