UPDATE #8 [ Обновление сборки до REHLDS ]
Вышел отчет по проделанным оптимизациям за месяц.
https://github.com/dreamstalker/rehl...month:-results
Информация преимущественно технического характера, поэтому все переводить не буду, а только то, что необходимо для оценки результатов. Их можно просмотреть в виде графиков. Кому интересны технические детали проведения тестов, лучше читать в оригинале, там английский не сложный.
Тесты производились под windows на 6 различных процессорах от i3 до i7 и с различными комбинациями разных библиотек движка, мода и metamod, но без amxmodx.
На каждом процессоре с разными наборами библиотек по очереди запускался один и тот же записанный 20-минутный матч 16х16 на карте de_aztec с sys_ticrate 100. Система тестирования построена таким образом, что вместо вызовов системных функций сразу без задержки возвращается их готовый результат. Таким образом, процессор все время выполняет только код игрового сервера и воспроизведение записанного матча занимает меньше времени, чем его запись, при которой системные функции выполнялись в полном объеме. Итоговое время зависит от производительности процессора и оптимизированности всех библиотек сервера.
Используемые типы библиотек движка:- Stock: HLDS от Valve
- Pedantic optimizations (P.Opt): ReHLDS с оптимизациями, не нарушающими бинарную совместимость
- Optimized (Opt): ReHLDS со всеми возможными оптимизациями и исправлениями
Используемые типы библиотек мода:- Stock: mp.dll от Valve
- Optimized: сторонняя mp.dll с оптимизацией нескольких математических функций
Используемые типы библиотек metamod:- Stock: стандартный metamod-am
- Optimized: metamod-am с отключенными некоторыми частовызываемыми форвардами
Оценка результатов:- Оптимизация metamod дает от 20% до 30% прироста производительности, однако несколько урезает его функциональность.
- Набор бинарно-совместимых оптимизаций ReHLDS дает от 65% до 110% прироста. При этом работа сервера полностью идентична работе обычного HLDS.
- Включение всех оптимизаций и исправлений дает 11% прироста поверх предыдущего пункта. При этом часть математических функций будет выдавать погрешность на уровне менее 0.01%, что на работе сервера практически никак не сказывается.
- Оптимизация мода дает около 6% прироста.
Заключение:Цифры говорят сами за себя. ReHLDS работает более чем в 2 раза быстрее обычного HLDS.[/size]