Like Tree16466Спасибо

Тема: проект WSJT-X: моды JT65,JT9,WSPR,JT4,JTMS,MSHV - работа с тестовым софтом

  1. #24931
    Координатор темы Аватар для RX4HX
    Регистрация
    03.02.2006
    Возраст
    48
    Сообщений
    11,689
    Поблагодарили
    4702
    Поблагодарил
    2602
    Цитата Сообщение от UT5NM Посмотреть сообщение
    Конечно математические вычисления проводит процессор, но все данные для них он получает, обрабатывает и отдает, а потом еще дважды получает и отдает именно из/в оперативную память по системной шине.
    Ну во первых у процессора есть свой кэш, и во внешнюю память он может ничего и не отдавать. Тут нужно знать как в таких случаях сам комп работает. Может Ваши доводы и верны, а может и нет. Не знаю.
    Во вторых - на счет объема данных - так ли он велик? Тут наверное Игорь может подсказать.
    Да память у моего компа DDR3 - самому интересно стало, завтра проверю по Вашей методике на предмет Lag'ов.

  2. #24932
    Заблокирован
    Регистрация
    21.07.2004
    Возраст
    62
    Сообщений
    856
    Поблагодарили
    72
    Поблагодарил
    75
    Цитата Сообщение от UT5NM Посмотреть сообщение
    Специально для Владислава QDT - Игорь совсем недавно разъяснял здесь же, в этой ветке, о влиянии количества потоков на скорость и глубину декодов.
    в том-то и дело, что Игорь "меряет" процессоры по количеству "логических ядер", а не ядер (физических) и потоков, как это принято. Подозреваю, что не понимает разницу.

  3. #24933
    Администратор Аватар для RM6LA
    Регистрация
    30.04.2011
    Адрес
    Ростов-на-Дону
    Возраст
    54
    Сообщений
    3,225
    Поблагодарили
    1973
    Поблагодарил
    1733
    Цитата Сообщение от UT5NM Посмотреть сообщение
    Но о потоках мы вспомнили только с точки зрения понимает ли гипертрейдинг JTDX. В теме про выпадения пакетов Игорь говорил о том, что в режиме "авто" при i7 задействовано только 7 потоков, но можно принудительно установить и все 8 для увеличения быстродействия. Но есть типа опасность некоторых глюков. Поскольку в i7 только 4 физ. головы, то значит гипертрейдинг JTDX точно поддерживает. Как-то так.
    Андрей, вы как айтишник со стажем, вообще-то должны знать, что ПО делится на уровни.
    Состав программного обеспечения вычислительной системы называют программной конфигурацией. Межпрограммный интерфейс - это распределение программного обеспечения на несколько связанных между собою уровней. Уровни программного обеспечения представляют собой пирамиду, где каждый высший уровень базируется на программном обеспечении предшествующих уровней.
    Самой JTDX, которая является прикладной программой (верхний уровень) абсолютно безразлично физическое устройство потоков, реальные ли это процы или потоки гипертрейдинга. За это отвечают программы самой операционки, то есть драйвера (базовый уровень).
    То есть, если заявлено автором, что обрабатывается 12 вычислительных потоков, то они и обрабатываются, независимо от их физического происхождения.
    Ну и что касается памяти - при чистой математике память, при современных обьёмах кэшей, практически не работает, работает скоростной кэш, которого хватает с головой для хранения промежуточных результатов.
    Вообще, увеличение лагов зависит, скорее всего, от операций ввода-вывода и скорости чтения-записи, которые физически (по прерываниям) заставляют ждать процессор окончания их выполнения. Ну и от вычислительной мощности процессора и обьёма кэша конечно.
    "Критик - это человек который не в состоянии создать ничего собственного, и потому чувствует себя вправе судить созданное другими. В этом есть своя логика: критик судит всех непредвзято, так как он ненавидит всех креативных людей в одинаковой степени."
    Роберт Хайнлайн.

    ...
    © RM6LA, Eugen. RnD, Russia. :: RAFA XRRJ ::
    http://cq6l.ru ::

  4. #24934
    Заблокирован
    Регистрация
    21.07.2004
    Возраст
    62
    Сообщений
    856
    Поблагодарили
    72
    Поблагодарил
    75
    Цитата Сообщение от RM6LA Посмотреть сообщение
    Самой JTDX, которая является прикладной программой (верхний уровень) абсолютно безразлично физическое устройство потоков, реальные ли это процы или потоки гипертрейдинга. За это отвечают программы самой операционки, то есть драйвера (базовый уровень).
    В этом необходимо убедиться, и сделать это владельцам компьютеров с процессорами с гипертрейдингом очень просто. Но пока этого никто не сделал, включая авторов программы.

  5. #24935
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    5,186
    Поблагодарили
    7600
    Поблагодарил
    771
    Цитата Сообщение от UT5NM Посмотреть сообщение
    Мой эксперимент показывает, что только частотой и "потоковостью" проца вопрос не решить. Независимо от платформы, для полного использования всего заявленного потенциала JTDX на максимальных настройках, необходимы прежде всего материнки с шириной шины в 5 ГГц(это все чипсеты 1150 и выше) и под самую быструю оперативную память DDR-4 с частотой 2300 мГц. Отсюда и требования к сокетам процессоров.
    Когда "процессор 2 ядра", то это 775-й сокет(на самых продвинутых материнках шина 1300 мГц) и память DDR-2(самая дорогая, с радиаторами 1066 мГц, обычно 800 мГц). В этом случае на загруженных НЧ диапазонах даже при самых "быстрых и мелких" настройках JTDX реально влететь в период передачи больше секунды и потерять до 30% самых слабых(и как правило самых нужных) декодов.
    В JTDX чувствительность FT8 декодера на частоте QSO определяется отдельно от широкополосного декодирования, даже на средних по производительности процессорах можно мониторить диапазон в режиме SWL, при проведении QSO отключать кнопку SWL и использовать настройки широкополосного декодирования позволяющие во время QSO вписаться в необходимую задержку декодирования.

    - - - Добавлено - - -

    Цитата Сообщение от RM6LA Посмотреть сообщение
    Вообще, увеличение лагов зависит, скорее всего, от операций ввода-вывода и скорости чтения-записи, которые физически (по прерываниям) заставляют ждать процессор окончания их выполнения. Ну и от вычислительной мощности процессора и обьёма кэша конечно.
    И JTDX и WSJT-X используют stdout для передачи декодированных сообщений из декодера (процесс jtdxjt9) в процесс работающий с GUI jtdx (в WSJT-X jt9/wsjtx). Под Windows этот stdout + вывод на экран при большом количестве декодированных сообщений занимают ощутимое время.

    Интересно какую часть из этого занимает вывод на экран, необходим эксперимент с текстовыми фильтрами повторов, ненужных континентов, стран и т.п.. Возможно с текстовыми фильтрами под Windows удастся немного уменьшить задержку декодирования.

    - - - Добавлено - - -

    Цитата Сообщение от UT5NM Посмотреть сообщение
    Все настройки декодирования на максимум согласно рекомендациям авторов: Количество потоков можно на "Авто", Широкополосное декодирование - "Глубокое", Количестово циклов декодирования - "3", QSO RX уровень чувствительности - "Высокое", чувствительность декодера - "Использовать субпасс". Включите любой загруженный бендезон, где не менее 30-40 декодов(все равно какого уровня, откуда) и отскриньте какой получился Lag.
    Режим количества потоков "Авто" сделан для тех кто не разбирается в компьютерах, это компромисс при котором декодер использует количество потоков на единицу меньше количества логических ядер. Например на процессоре 4/8 ядер минимальный лаг можно получить на 4-х потоках. У каждого пользователя параллельно с JTDX бегут свои приложения, соответственно будет своя оптимальная настройка количества потоков.

    Более того, декодирование с файлов и декодирование с входящего звукового потока по затраченному времени отличаются, оптимальное количество потоков декодера (используемых декодером логических ядер процессора) надо подбирать при декодировании с звукового потока.

    - - - Добавлено - - -

    Цитата Сообщение от RA3QDP Посмотреть сообщение
    в том-то и дело, что Игорь "меряет" процессоры по количеству "логических ядер", а не ядер (физических) и потоков, как это принято. Подозреваю, что не понимает разницу.
    Операционная система распределяет задачи по логическим ядрам. Попробуйте найти в OpenMP метод распознавания физического ядра от логического: https://www.openmp.org/

    - - - Добавлено - - -

    Цитата Сообщение от UT5NM Посмотреть сообщение
    Игорь совсем недавно разъяснял здесь же, в этой ветке, о влиянии количества потоков на скорость и глубину декодов. Пояснял еще, что больше 12-ти программа не может.
    Пока не вижу смысла делать больше: спектр частот равномерно делится между потоками что увеличивает количество 'приграничных' частот между потоками приводя к небольшому снижению количества декодированных сообщений при использовании более 4-х потоков. В FT8 декодере JTDX еще есть проверка: он не может использовать больше потоков чем доступно логических ядер в операционной системе. То есть если на процессоре с 4-мя логическими ядрами пользователь выберет 12 потоков то FT8 декодер не будет использовать более 4-х.

    Это связано с тем что операционная система не может выделить больше ресурсов под задачу чем у нее есть, и если попытаться использовать 12 потоков декодирования на 4-х ядерном процессоре то операционная система будет выделять ресурсы последовательно три раза по 4 потока, то есть время декодирования по сравнению с использованием 4 потоков вырастет в три раза и появятся проблемы с декодированием сигналов в 'приграничных' областях потоков из-за несвоевременного вычитания.

    - - - Добавлено - - -

    Цитата Сообщение от UT5NM Посмотреть сообщение
    Отличие "i" от Ксеонов в наличии графического процессора. А при установке отельной видеокарты(не надо навороченной!) ПРАВИЛЬНЫЕ программы(последние Фотошопы, КАД-ы, видеомонтаж и пр.) умеют "пристегивать" встроенный ГП к основному процу, в разы увеличивая его скорострельность! Надеюсь, JTDX правильная прога и тоже умеет это делать.
    Автоматическое использование графических ядер заманчиво, но эти ядра на современных видеокартах заточены под обработку кусочков изображений видео потока, множества небольших задач, что потребует переработки кода под декодирование каждого кандидата на отдельном логическом ядре. Пока не знаю можно ли разбить декодирование внутри потока CPU на подпотоки GPU, какой для этого необходим компилятор и сохранится ли при этом поддержка многоплатформенности в JTDX. Декодирование сигнала с большим количеством ошибок OSD (ordered-statistics decoder) декодером ресурсоемкая задача, не знаю хватит ли для нее ресурсов логического ядра GPU чтобы вписаться в требуемое время декодирования.

  6. #24936
    Экстра-класс
    Регистрация
    14.09.2010
    Адрес
    Доброполье
    Возраст
    61
    Сообщений
    2,487
    Поблагодарили
    571
    Поблагодарил
    1157
    Цитата Сообщение от UA3DJY Посмотреть сообщение
    Интересно какую часть из этого занимает вывод на экран, необходим эксперимент с текстовыми фильтрами повторов, ненужных континентов, стран и т.п.. Возможно с текстовыми фильтрами под Windows удастся немного уменьшить задержку декодирования.
    Немного не понял вопрос, Игорь. По времени декодирования разницы не видно у меня, что с включенными фильтрами, что без. Фильтра у меня по странам, отработанным на всех бендах и всеми модами. Их около 150-ти. Получается выводится из 40-50 декодов не более 5, а то и вообще пусто. Особенно сейчас в период Covid-19.

  7. #24937
    Заблокирован
    Регистрация
    21.07.2004
    Возраст
    62
    Сообщений
    856
    Поблагодарили
    72
    Поблагодарил
    75
    Цитата Сообщение от UA3DJY Посмотреть сообщение
    Операционная система распределяет задачи по логическим ядрам. Попробуйте найти в OpenMP метод распознавания физического ядра от логического
    но автор программы должен знать (а если не знает - выяснить опытным путем) - как его программа работает с гипертрейдингом. Как влияет - размер КЭШ-памяти (я уж не говорю, что надо точно знать - сколько требуется оперативной).
    И не только это. Что бы пользователи могли использовать для программы оптимальные по соотношению цена/качество компьютеры и четко знали - как оптимально использовать имеющиеся, необходимо знать как влияют различные характеристики компьютера, настройки программы и использование параллельно других программ. А у компьютера есть много разных характеристик его производительности. Например в популярной программе Aida64 по нескольку характеристик и у памяти и у процессора и у прочего. Существуют и другие программы определения производительности.

  8. #24938
    Коротковолновик Аватар для UT5NM
    Регистрация
    16.04.2008
    Адрес
    Винница
    Сообщений
    148
    Поблагодарили
    158
    Поблагодарил
    4
    Игорь, дорогой, рады видеть Вас в ветке! Я наверное мало смайликов поставил, когда шутил насчет "жалких 12-ти потоков" . Реально отстал от жизни и не знал о появлении монстров от АМД аж с 64 физическими ядрами на одной подложке(и соответственно возможности работы аж со 128-ю потоками).
    RA3QDP поднял вопрос, действительно имевший место быть на заре появления технологии гипертрейдинга, когда многие программы либо подтормаживали вместо увеличения скорости работы, либо вообще крэшились при его включении в БИОС материнки. Я лично и не сомневался в том, что JTDX, так же как и WSJT работают с потоками не зависимо от их "происхождения" - от физического или логического ядра. Что и подтверждают Ваши разъяснения.
    Что касается кэша процессора, то он крайне скуден для обработки синхронных массивов данных, накопленных за период в 15 секунд в широкой полосе декодирования и загруженном эфире. В полноценных i7 он "аж целых" 8 МЕГА байт. Сколько при этом крутится в оперативке и летает туда-сюда по QPI шине(в материнках 8-серии она 5 ГГб/сек или по новому 5 гига трансферов в секунду, 5GT/s, а в 9-й серии уже 6GT/s), знает только команда JTDX. Думаю на порядки больше, так как "всё держим в оперативке". Это не мое, а их высказывание.
    Что КОНКРЕТНО и видно в моем эксперименте со сверхбыстрым "экстремальным" процом, но весьма посредственной на данный момент памятью. 20% всего загрузки, а лаги есть. Меньше конечно, но скорее всего за счет в двое большего кэша(8 мб против 4 мб на i3). А я, честно говоря, после части потраченного скудного выходного (замена проца с установкой "башни" охлаждения и заодно пылесосно-кисточной профилактики компа) надеялся, что показатель Lag уйдет далеко в минус при таком разгоне воющего на всю квартиру системника...
    Поэтому, лично для себя, сделал вывод - для использования по максимуму всех возможностей JTDX, необходимо и достаточно: проц - без всякого экстрима, хватит восьми потокового i7 с частотой 3.2-3.7 ГГц, "толстая" шина памяти 5 GT/s(уже на пятилетних материнках начиная с i3 она такая по дефолту), и быстрая оперативка ДДР4-2300. Причем достаточное количество уже от 4-х ГГб, лучше конечно 8.
    Я не могу без полной замены всех потрохов поставить ДДР4 . Поэтому очень интересует вопрос - неужели в теме нет ни одного владельца реально "крутого" компа с мощной современной начинкой?! Даже с экстремальной! Хоть кто-то может при всех максимальных настройках и овер-40 декодах показать Lag в "минус" или хотя бы в "ноль"? То есть идеальное попадание в начало цикла передачи! Такое вообще возможно в JTDX?

  9. #24939
    Заблокирован
    Регистрация
    21.07.2004
    Возраст
    62
    Сообщений
    856
    Поблагодарили
    72
    Поблагодарил
    75
    Цитата Сообщение от UT5NM Посмотреть сообщение
    Я лично и не сомневался в том, что JTDX, так же как и WSJT работают с потоками не зависимо от их "происхождения" - от физического или логического ядра. Что и подтверждают Ваши разъяснения.
    в том что JTDX, так же как и WSJT - МОГУТ использовать все потоки нет сомнений, но если от этого ПОЛЬЗА ?
    и где Вы увидели разъяснения автор? (дайте цитату).
    Чего проще - выключит гипертрейдинг в настройках BIOS и сравнить - слабо ?

  10. #24940
    Администратор Аватар для RM6LA
    Регистрация
    30.04.2011
    Адрес
    Ростов-на-Дону
    Возраст
    54
    Сообщений
    3,225
    Поблагодарили
    1973
    Поблагодарил
    1733
    Цитата Сообщение от UT5NM Посмотреть сообщение
    Что касается кэша процессора, то он крайне скуден для обработки синхронных массивов данных, накопленных за период в 15 секунд в широкой полосе декодирования и загруженном эфире.
    Андрей, ну откуда там массивы? Тут обычный звук, даже не HI-FI, без изызсков. Точно частоту дискретизации при работе JTDX не сказать не могу, но даже при максимальной частоте 320 кб/с (которая, по большому счёту, абсолютно не нужна в полосе 3 кгц) вся звуковая дорожка одного периода в RAW формате займёт всего 4,8 мб. То есть целиком влезет в кэш и будет там парсится с частотой проца, и ещё куча места останется для промежуточных данных. Ресурсы потребляют декодеры и цифровые фильтры.
    Цитата Сообщение от RA3QDP Посмотреть сообщение
    Чего проще - выключит гипертрейдинг в настройках BIOS и сравнить - слабо ?
    А вам слабО? Мне, например, и без экспериментов всё ясно.
    "Критик - это человек который не в состоянии создать ничего собственного, и потому чувствует себя вправе судить созданное другими. В этом есть своя логика: критик судит всех непредвзято, так как он ненавидит всех креативных людей в одинаковой степени."
    Роберт Хайнлайн.

    ...
    © RM6LA, Eugen. RnD, Russia. :: RAFA XRRJ ::
    http://cq6l.ru ::

  11. #24941
    Экстра-класс Аватар для R6LCF
    Регистрация
    21.04.2015
    Адрес
    г.Таганрог
    Возраст
    67
    Сообщений
    3,428
    Поблагодарили
    1039
    Поблагодарил
    795
    Цитата Сообщение от RA3QDP Посмотреть сообщение
    Чего проще - выключит гипертрейдинг в настройках BIOS и сравнить - слабо ?
    По большому счету эти действия абсолютно никому кроме вас не нужны . Вы уже не в первый раз пишите об этом.Вам это необходимо......делайте.
    Кто же против.
    Все остальные сравнивают по конечному результату ,максимальное декодирование за установленный промежуток времени!

  12. #24942
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    5,186
    Поблагодарили
    7600
    Поблагодарил
    771
    Цитата Сообщение от UT5NM Посмотреть сообщение
    Поэтому очень интересует вопрос - неужели в теме нет ни одного владельца реально "крутого" компа с мощной современной начинкой?! Даже с экстремальной! Хоть кто-то может при всех максимальных настройках и овер-40 декодах показать Lag в "минус" или хотя бы в "ноль"? То есть идеальное попадание в начало цикла передачи! Такое вообще возможно в JTDX?
    Нет. Мы специально держим в программе режим SWL для мониторинга диапазона, где задержка декодирования не так критична как при проведении QSO. Ресурсоемкие навороты декодера добавляются в режим SWL, то есть по определению режим 'наблюдателя' не предназначен для окончания декодирования до начала следующего интервала и сейчас на бытовом рынке нет процессора способного в режиме SWL при трех циклах декодирования FT8 справиться с этой нагрузкой.

  13. #24943
    Коротковолновик Аватар для UT5NM
    Регистрация
    16.04.2008
    Адрес
    Винница
    Сообщений
    148
    Поблагодарили
    158
    Поблагодарил
    4
    Евгений, с точки зрения оцифровки несчастных трех кГц по теореме Котельникова вроде ничего особенного нет. Но сколько там объем "промежуточных вычислений" при трех проходах и выполнении "магических" алгоритмов когда ДТ меньше 0,18 секунд - это не мое, а Игоря разъяснение, и только он с командой наверное и могут внятно объяснить хватит ли 8 мб кэша (это в i7, в i3 только 4 а в простых "пеньках" обычно 1 мегабайт) или нет.
    Меня например привело в шоковое состояние, когда "крайний" для не самого дрянного чипсета 1150 процессор с разблокированным множителем при разгоне до 5,2 ГГц выдал Lag в +0,36 секунды при 38 декодах по моему. Это при трех проходах и максимальных настройках. На что еще грешить, как не на "медленную" память. Надеялся-то на глубокий "минус"...

    Игорь, об SWL режиме речь не идет. Настройки для SWL режима отдельно от обычного. При трех проходах в SWL лаг на проце i7-4990k 5.2 GGz достигал 1,2 секунды. Но я об обычном, "рабочем" широкополосном декодировании - реально ли и на чем можно получить отрицательный или хотя бы нулевой Lag при максимальных настройках JTDX и при большом(не менее 40-ка) количестве декодов?

    Владислав, ну какие еще нужны цитаты? Сказано же автором программы, что она не разделяет физические и логические потоки. Что в режиме "авто" используется на один меньше, но можно принудительно включить все и повысить производительность. Если говорить о 4-х потоках для i3 или 8-ми для i7, то что это, как не гипертрейдинг? И раз производительность повышается, то значит он дает выигрыш. Так что, не верить автору?!
    В реальном эфире сравнить невозможно - слишком все субъективно и изменчиво. Количество декодов даже при стабильном проходе может меняться от периода к периоду в разы. А тут надо перегружать машину сделав изменения в БИОС и так несколько раз для сравнения, то какое это будет "тестирование"?
    Нужен стенд с различными эталонными последовательностями и кропотливое тестирование с гипером и без. У меня такого нет, а у бригады программистов и без этого работы хватает. Сказано автором, что работает, значит надо верить

  14. #24944
    Заблокирован
    Регистрация
    21.07.2004
    Возраст
    62
    Сообщений
    856
    Поблагодарили
    72
    Поблагодарил
    75
    Цитата Сообщение от UT5NM Посмотреть сообщение
    И раз производительность повышается, то значит он дает выигрыш. Так что, не верить автору?!
    на основании чего Вы решили, что производительность - повышается ? (в FT-8)
    А автор пока ничего не писал по этому поводу (наверное и сам не знает).

  15. #24945
    Экстра-класс
    Регистрация
    28.11.2013
    Возраст
    65
    Сообщений
    2,531
    Поблагодарили
    1057
    Поблагодарил
    462
    Цитата Сообщение от UT5NM Посмотреть сообщение
    ...На что еще грешить, как не на "медленную" память. Надеялся-то на глубокий "минус"...
    Не только "медленная" память, но и чипсет, и шина, и процессор и операционка - это все единое целое. И они должны быть не только совместимы друг с другом, но и показывать все, на что они способны в совместной работе. К сожалению, при всем богатстве выбора комплектующих, создать идеальную машину, чтобы она показала все на что способна, не так уж и просто. Для оценки всего этого взаимодействия существуют такие понятия как Kernel Responsiveness и Application Responsiveness. В вольном переводе это оценка времени реакции ядра вашей операционки и оценка времени отклика различных приложений, установленных на ПК. К сожалению, профессиональные программы для анализа этих характеристик не так уж и дешевы. Но вполне можно использовать бесплатную версию WhySoSlow (https://www.resplendence.com/main). Для сбора статистики нужно запустить ее на пару часов при работе в JTDX(WSJT). Может быть все и нормально, а можете быть и неприятно удивлены. Что самое интересное, эти показатели не отражает общую производительность вашей системы, а показывают только возможности обработки вашей системой задач в реальном времени. Отсюда и возгласы у народа - загрузка процессора 20% а лаги плюсовые.

Похожие темы

  1. JT65/JT9 - имейте совесть, когда в "цифре" работаете!
    от RX4CD в разделе JT65, JT9, WSPR, JT4, JTMSK, FT8
    Ответов: 65
    Последнее сообщение: 05.10.2019, 07:15
  2. Как начать работать с CW?
    от Z80X в разделе Телеграф
    Ответов: 6
    Последнее сообщение: 23.12.2010, 13:43
  3. Новая мода JT65
    от RX3AIS в разделе Цифровые виды радиосвязи
    Ответов: 1
    Последнее сообщение: 28.06.2007, 23:02
  4. Как начать работу с OZiExplorer 3D ?
    от RX3AOE в разделе Win-XP/7
    Ответов: 4
    Последнее сообщение: 15.10.2006, 19:55
  5. Работаю с DXtelnet но через час он отклю...
    от в разделе Компьютеры и сети
    Ответов: 0
    Последнее сообщение: 16.12.2001, 20:54

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker
Яндекс.Метрика