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: select vs poll (Was: [apache-talk] mathopd ranges)



On Sat, 15 Dec 2001 21:25:05 +0300
"Eugene B. Berdnikov" <berd@xxxxxxxxxxxxxx> wrote:

>  Вот и показывает он цену на дрова.

Именно. Причем в Папуа-Новой Гвинее :-)

А что еще можно ожидать, если в select засовывается в качестве
fd_set кусок неинициализированной памяти, да еще при отсутствии
реально открытых дескрипторов?

Вот более реальный тест, который действительно пытается
определить скорость работы select и poll, причем select
пробуется в двух вариантах - с пустой и полностью заполненной
маской. Правда, дескрипторы забиваются unix-сокетами - ситуация
для tcp может отличаться.


Результаты для Celeron 533 MHz, Linux 2.4.13-alt1-up:

$ ./speed2 
Created 509 socketpairs
clocks_per_sec = 1000000
worst case resolution = 0.0500 usec
precision = 2 decimal digits
               (cache & vm load)     0.027 usec   37.554 Mhz
                 (loop overhead)     0.027 usec   37.554 Mhz
                 memset overhead     0.002 usec  438.620 Mhz
                     fd_set copy     0.168 usec    5.968 Mhz
              prepare for select     0.169 usec    5.905 Mhz
                  select (empty)     1.069 usec    0.935 Mhz
               select (4, empty)     1.073 usec    0.932 Mhz
              select (16, empty)     1.073 usec    0.932 Mhz
              select (32, empty)     1.077 usec    0.929 Mhz
              select (64, empty)     1.088 usec    0.919 Mhz
             select (128, empty)     1.103 usec    0.906 Mhz
             select (256, empty)     1.205 usec    0.830 Mhz
             select (512, empty)     1.418 usec    0.705 Mhz
            select (1000, empty)     1.810 usec    0.552 Mhz
            select (1024, empty)     1.804 usec    0.554 Mhz
                select (4, full)     1.842 usec    0.543 Mhz
               select (16, full)     3.601 usec    0.278 Mhz
               select (32, full)     6.123 usec    0.163 Mhz
               select (64, full)    16.178 usec    0.062 Mhz
              select (128, full)    47.947 usec    0.021 Mhz
              select (256, full)   159.153 usec    0.006 Mhz
              select (512, full)   385.227 usec    0.003 Mhz
             select (1000, full)   806.126 usec    0.001 Mhz
             select (1024, full)   828.098 usec    0.001 Mhz
                        poll (4)     1.734 usec    0.577 Mhz
                       poll (16)     3.290 usec    0.304 Mhz
                       poll (32)     5.642 usec    0.177 Mhz
                       poll (64)    15.965 usec    0.063 Mhz
                      poll (128)    48.527 usec    0.021 Mhz
                      poll (256)   159.641 usec    0.006 Mhz
                      poll (512)   391.087 usec    0.003 Mhz
                     poll (1000)   844.212 usec    0.001 Mhz
                     poll (1024)   875.462 usec    0.001 Mhz

-- 
Сергей Власов

Attachment: speed2.c
Description: Binary data

Attachment: pgp1InYpK1zyL.pgp
Description: PGP signature






Спонсоры сайта:

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