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 Sun, 16 Dec 2001, Slawa Olhovchenkov wrote:

> On Sun, Dec 16, 2001 at 03:56:42AM +0300, Khimenko Victor wrote:
>
> >> Ну не при случайной выброке -- а это главное
> KV> ЧЕГО ??? С каких это пор у нас обращения к памяти в программах задаются
> KV> геренратором случайных чисел ?
>
> С тех пор, как их начали писать с применениме развесистых плюсовых библиотек.
>
Хмм... Большая часть объектов куда как больше 16 байт. Да, часто бывает
так, что сначала идет обращение к первому полю в 4 байта первого объекта,
потом к десятку других объектов, и лишь потом - ко второму полю этого
объекта, ну так на то у нас данные передаются не только в проц, а еще и в
кеш. И не настолько эти библиотеки развесистые, чтобы вся информацию
вылетела их кеша: когда деятельность возвращается к первому объекту его
данные часто еще в L1 кеше (а уж в L2 - так почти наверняка).

> >> Арифметика на уровне 4 класса средней школы -- первое чтение
> >> срабатывает через 45 нс, все остальное -- обман.
> KV> ... а то, что на практике больше половины чтений происходит из ячейки,
> KV> непосредственно следующей за только что прочитанной - нас не касается.
>
> А что насчет чтения из (16/4=4) 4 непосредственно следующиих друг за
> другом ячеек? Ну пусть не 4, 3? Это именно тот случай, когда DDR
> начнет давть выйгрыш.
>
См. выше :-) Как раз вышеупомянутые развесистые боблиотеки приводят к
тому, что данные оттуда потребуются в большинстве случаев очень скоро (про
то, что у нас за один цикл обращения к памяти 20-30 команд процессора
могут исполниться еще не забыли?).

> KV> Ой ли ? Вспомни - с чего дисскуссия началась ? Со сканирования FD_SET'а и
> KV> массива pollfd. При практически интересном случае у тебя будет ОДИН
> KV> интересный бит в массиве объемом в килобайт, примерно. Как часто ты будешь
> KV> читать в такой постановке задачи из следующей, а не "случайной" ячейки ?
> KV> Правильно: в 99% случаев.
>
> Неправильно. Зависит от кривизны компилятора и кривизны рук
> программиста. Запросто эти чтения из массива pollfd могут быть
> разбавленны обращениями к другим ячейкам памяти.
>
Нее - там цикл простой, как песня: перебор элементов массива "от забора и
до обеда" и сравнение элементов с фиксированным числом. Иногда он таки
что-то находит и начинается бурная деятельность, но это происходит весьма
нечасто...

> KV> Ничига себе открытие: все изыскания разработчиков процессоров начиная с
> KV> Pentium'а, строка кеша в котором 16 байт, который в burst режиме
> KV> вытягиваются из основной памяти в надежде на то, что если какой байт
> KV> пригодился, то и следующий за ним, скорее всего, не лишним будет,
> KV> оказываются неверны... Хммм...
>
> Ну и как там с распределением частоты использования непрерывных
> последовательностей байтов?

Достаточно для того, чтобы у 1.5GHz процессора (Athlon или Pentium4)
DDR SDRAM давала выигрыш в 15-20% на ПРАКТИЧЕСКИХ задачах. На
синтетических тестах можно увидеть и 70%-80% (за счет того, что первый
байт таки запрашивается с одинаковой скоростью ускорения на 100% увидеть
нельзя независимо ни от чего), но это как-то не слишком интересно...

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