Russian Apache mailing list archive (apache-rus@lists.lexa.ru)
[Date Prev ][Date Next ][Thread Prev ][Thread Next ][Date Index ][Thread Index ]
Re: [apache-talk] mathopd ranges
On Fri, Dec 14, 2001 at 12:54:25PM +0300, AT wrote:
> On Thu, Dec 13, 2001 at 07:03:32PM +0300, Eugene B. Berdnikov wrote:
> > Что это за попугаи? Время возврата из сискола при одном активном fd?
>
> Типа того! Вы будете смеяться: тест идёт на неинициализированных
> дескрипторах. Т.е. на произвольном куске памяти. Но этого как раз и
Ну и какое это имеет отношение к реальной жизни?
> хотелось посмотреть: насколько poll и select отличаются сами по себе,
> помимо их общего знаменателя. Цифры даны для того, чтобы почувствовать
> порядок разницы. Они подтверждают догадку о том, что узкое место --
> копирование в ядро.
>
> Тест прилагаю.
Результаты возвращаю (список параметров немного увеличил). Компилировалось
все на одной машине egcs-2.91, командой "cc -O0 speed.c -o speed".
Итак, AMD-K6/2 500 MHz, linux kernel 2.2.17-ow:
clocks_per_sec = 1000000
worst case resolution = 0.0500 usec
precision = 2 decimal digits
(cache & vm load) 0.070 usec 14.323 Mhz
(loop overhead) 0.070 usec 14.309 Mhz
memset overhead 0.096 usec 10.468 Mhz
select (empty) 2.216 usec 0.451 Mhz
select (4 desc.) 3.754 usec 0.266 Mhz
select (16 desc.) 3.760 usec 0.266 Mhz
select (32 desc.) 3.757 usec 0.266 Mhz
select (64 desc.) 3.845 usec 0.260 Mhz
select (256 desc.) 4.769 usec 0.210 Mhz
select (512 desc.) 4.464 usec 0.224 Mhz
select (2048 desc.) 5.132 usec 0.195 Mhz
poll (empty) 1.728 usec 0.579 Mhz
poll (4 desc.) 3.400 usec 0.294 Mhz
poll (16 desc.) 10.390 usec 0.096 Mhz
poll (32 desc.) 16.047 usec 0.062 Mhz
poll (64 desc.) 0.903 usec 1.108 Mhz
poll (256 desc.) 0.900 usec 1.111 Mhz
poll (512 desc.) 0.900 usec 1.111 Mhz
poll (2048 desc.) 0.900 usec 1.111 Mhz
Dual PII-400 MHz, linux kernel 2.2.14-6.1smp from RedHat 6.1 dist:
clocks_per_sec = 1000000
worst case resolution = 0.0500 usec
precision = 2 decimal digits
(cache & vm load) 0.076 usec 13.175 Mhz
(loop overhead) 0.078 usec 12.820 Mhz
memset overhead 0.135 usec 7.407 Mhz
select (empty) 3.122 usec 0.320 Mhz
select (4 desc.) 3.154 usec 0.317 Mhz
select (16 desc.) 3.324 usec 0.301 Mhz
select (32 desc.) 3.154 usec 0.317 Mhz
select (64 desc.) 3.151 usec 0.317 Mhz
select (256 desc.) 3.545 usec 0.282 Mhz
select (512 desc.) 4.470 usec 0.224 Mhz
select (2048 desc.) 5.443 usec 0.184 Mhz
poll (empty) 2.057 usec 0.486 Mhz
poll (4 desc.) 4.420 usec 0.226 Mhz
poll (16 desc.) 10.207 usec 0.098 Mhz
poll (32 desc.) 17.817 usec 0.056 Mhz
poll (64 desc.) 1.151 usec 0.869 Mhz
poll (256 desc.) 1.087 usec 0.920 Mhz
poll (512 desc.) 1.087 usec 0.920 Mhz
poll (2048 desc.) 1.156 usec 0.865 Mhz
Dual PIII-933 MHz, linux kernel 2.2.20-ow:
clocks_per_sec = 1000000
worst case resolution = 0.0500 usec
precision = 2 decimal digits
(cache & vm load) 0.033 usec 30.609 Mhz
(loop overhead) 0.033 usec 30.624 Mhz
memset overhead 0.058 usec 17.281 Mhz
select (empty) 1.302 usec 0.768 Mhz
select (4 desc.) 1.319 usec 0.758 Mhz
select (16 desc.) 1.321 usec 0.757 Mhz
select (32 desc.) 1.323 usec 0.756 Mhz
select (64 desc.) 1.328 usec 0.753 Mhz
select (256 desc.) 1.479 usec 0.676 Mhz
select (512 desc.) 1.788 usec 0.559 Mhz
select (2048 desc.) 2.298 usec 0.435 Mhz
poll (empty) 0.839 usec 1.192 Mhz
poll (4 desc.) 1.900 usec 0.526 Mhz
poll (16 desc.) 5.152 usec 0.194 Mhz
poll (32 desc.) 9.406 usec 0.106 Mhz
poll (64 desc.) 0.456 usec 2.191 Mhz
poll (256 desc.) 0.462 usec 2.167 Mhz
poll (512 desc.) 0.461 usec 2.167 Mhz
poll (2048 desc.) 0.461 usec 2.167 Mhz
Могу еще на P4 погонять, если хотите, когда до конторы дойду.
Только не вижу я что-то обещанного увеличения времени на копирование
дескрипторов. Вижу только горб в районе 16-32, который ждет своего
объяснения. :) Это не говорит, конечно, о том, что в реальной жизни
(на активных дескрипторах) потери времени на копирование структур нет.
Скорее свидетельствует о том, что тест этот показывает цену на дрова. :)
Кстати, если уж что-то тестировать, то неплохо бы и статистическую
ошибку хотя бы посчитать - сделать это проще простого, а без нее
совершенно непонятно, какова точность этих чисел.
--
Eugene Berdnikov
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
Спонсоры сайта:
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE .
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin . Design (C) 1998 Max Smolev.