select timings

Diane Bruce db at db.net
Mon Jul 9 01:29:12 UTC 2007


Hi,

It is a rather naive test program, close all fd's except
for 0,1,2 of course, then open /dev/null multiple times, then do
a select() on each descriptor.  ~db/selt.c

Each fd "fires" so select() goes through each bit.

First two tests are with STOCK -7 kernel

STOCK
MAXFD = 1024

./selt
First select 0 4052
Second select 0 4011
dark# ./selt
First select 0 4037
Second select 0 3991
dark# ./selt
First select 0 4006
Second select 0 4018
dark# ./selt
First select 0 4008
Second select 0 4583
dark# ./selt
First select 0 4041
Second select 0 4012

MAXFD 8192

dark# ./selt
First select 0 28736
Second select 0 28607
dark# ./selt
First select 0 28655
Second select 0 28641
dark# ./selt
First select 0 28629
Second select 0 28592
dark# ./selt
First select 0 28890
Second select 0 29189
dark# ./selt
First select 0 28629
Second select 0 28963
dark# ./selt
First select 0 28960
Second select 0 28593
dark# ./selt
First select 0 28622
Second select 0 28689

With Jeffr select2.diff
MAXFD 8192
./selt
First select 30328
Second select 0 30375
dark% ./selt
First select 0 30423
Second select 0 30214
dark% ./selt
First select 0 30444
Second select 0 30200
dark% ./selt
First select 0 30362
Second select 0 30797
dark% ./selt
First select 0 30372
Second select 0 30365

Using Jeffr's original select.diff

with 8192 fds
First select 0 30738
Second select 0 28906
dark% ./selt
First select 0 29242
Second select 0 28880
dark% ./selt
First select 0 28612
Second select 0 28684
dark% ./selt
First select 0 28617
Second select 0 28709
dark% ./selt
First select 0 28926
Second select 0 28784

with 1024 fds
./selt
First select 0 4056
Second select 0 4063
dark# ./selt
First select 0 4297
Second select 0 4163
dark# ./selt
First select 0 4101
Second select 0 4728
dark# ./selt
First select 0 4137
Second select 0 4218
dark# ./selt
First select 0 4034
Second select 0 4036
dark# ./selt
First select 0 4075
Second select 0 4062

I will be trying some other select tests.
I suspect with a sparse fd_set, jeffr's results will be better than stock.
We'll see.

- Diane
--
- db at FreeBSD.org db at db.net http://www.db.net/~db


More information about the freebsd-arch mailing list