> > Распаковка из битов и проверка флагов в pollfd->revents - очень
> > близкая по сложности операция (плюс-минус сдвиг)
> >
> Угу. Ну там нужно не только сдвиг сделать: нужно сделать сдвиг, отрезать
> младшие биты, вычислить адрес и потом btl и setcb - шесть операций лишних
> (там еще один movl добавляется)...
У меня навскидку получилось _лишних_ 3 или 4 при том, что revents -
short, а с 16-битами P3 хуже работает.
И 512 байт FD_SET-ов лягут в кэш с существенно
большей вероятностью, чем 32k pollfd (для 4096 дескрипторов)
> > > > Вообще, почему время должно уходить на пересылку, а не на
> > упаковку? Сложный вопрос - но уходит. Вообще, память не такая быстрая
> > у PC, неудивительно что узкое место - здесь
> >
> Да не такой это и сложный вопрос, на самом деле. Достаточно просто ведь
> все посчитать :-) Возьмем тот же пресловутый Pentium III на 1GHz. Шина у
> него позволяет переслать 1.06Gb/sec - а если учесть, что мы все это
Теоретически. Практически dd if=/dev/zero of=/dev/null (copyout/copyin
в чистом виде) мне давал не более 180 mb/sec на обычных матерях и
250 mb/sec - на матерях с интерливом.
Алексей Тутубалин
mailto: lexa@lexa.ru
----- End forwarded message -----
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =