Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
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 ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"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.