" title="Написать письмо">Написать письмо
На выжить после операций проктологии
2200 4002 2461 6363

Статистика

Пользователи : 1
Статьи : 2537
Просмотры материалов : 10961744
 
Генератор хаотичных данных 369ГБ/с v.1.0 (10.11.2026). Печать E-mail
2026 - Ноябрь
10.11.2026 00:00
Save & Share
Основанный на умной парадигме "генератор в генераторе в генераторе", получился настолько высокоскоростным - что на порядок уделал один из самых быстрых алгоритмов XORShift128+. Все генераторы в составном генераторе - можно использовать в других целях - получился комплект генераторов, по сути. Этот проект, при создании, - вышел слишком рутинный и тупой - в версии 1.0 возможны незначительные ошибки; и не уверен, что хватит сил на версию 1.1.

Коэффициент энтропии Шеннона 7.01 (6.8-7.2) для всех данных и 6.64 (6.5-6.8) для блоков 512Б (физический размер сектора накопителей) - делает его практически криптостойким (до 7.5 - чуть-чуть не хватило). 369ГБ/с - на 1 потоке 3.57ГГц, EXE собран в режиме дебага, 152ГБ/с - в режиме релиза (особенность среды программирования: не все функции в релизе быстрее, чем в дебаге).

Есть и другой метод генерации: 2.991ГБ/с или 3.397ГБ/с - если нужен хаос, а не псевдохаос, - добавится время, но коэффициенты Шеннона выше (7.4 и 6.8). Хаос в хаосе - если эту функцию ещё и вызывать random(255) раз.


Вторая парадигма: использование long double как генератор мусора (хаотичное поведение мантиссы, псевдохаотичное - целой части). Сначала массив long double заполняется медленной функцией 0.695ГБ/с или 0.739ГБ/с (коэффициенты Шеннона 6.4 и 6.1). Есть функция перезаполнения массива, в 4 раза быстрее, другим мусором (2.991ГБ/с и 3.397ГБ/с) - если нужен хаос, а не псевдохаос, - добавится время, но коэффициенты Шеннона выше (7.4 и 6.8).

Третья парадигма: движение указателя по этому заранее заполненному быстрому большому массиву с мусором - псевдохаос, но бешеная скорость. Придётся заплатить пониженными коэффициентами Шеннона 7.01 (6.8-7.2) для всех данных и 6.64 (6.5-6.8) для блоков 512Б.

Получился генератор с максимально возможной порцией, чтобы коэффициенты Шеннона сохранить, - 512Б. Указатель получил, взял мусор любым способом (memcpy, прямая запись в файл и т.д.) - и так в своём цикле. В исходниках - проект, в нём есть функции наглядной скорости и примера работы. Также в начале CPP-файла - подробное описание: почему, что и как.

Самое максимальное значение скорости - было получено в правильных условиях:
- корректное расположение QueryPerfomanceFrequency в коде. Счёт идёт на единицы пикосекунд/байт - решения измерения скорости должны быть чрезмерно корректными: каждая зараза пытается влезть и уменьшить результат (в данном случае - Turbo Boost);
- без усреднения 10 измерений по 4млрд вызовов. С усреднением будет где-то 340-350ГБ/с;
- выход из виртуальной машины в реальную ОС;
- запуск на свободном именно несистемном потоке.

В исходниках есть и изначальные генераторы, с которых парадигма оборачивания одного генератора другим и началась, - их тоже можно использовать в других параллельных интересах. Также оставлен функционал расчёта и множественного усреднения коэффициентов Шеннона.







Скачать (1.25МБ).

Функция расчёта энтропии Шеннона - полностью исправна.
Обновлено ( 10.11.2026 17:32 )
 
 

Последние новости


©2008-2026. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru