Архив по этикетке: Benchmark

Дек 24 2015

Небольшое тестирование TSX

Производительность в миллионах операций в секунду различных алгоритмов в однопоточном режиме.

Некоторое время назад ко мне в руки попал компьютер на базе Intel XEON D-1540 с поддержкой расширения TSX. Я давно уже хотел устроить хотя бы небольшое тестирование этого расширения, т.к. оно выглядит крайне интересно. Причём интерес вызывает как “бесплатная оптимизация” многопоточных приложения через HLE-префиксы (тем более что она не ломает обратную совместимость кода), так и …

Читать далее »

Май 16 2014

Оптимизация кода компилятором FreePascal`я

Мы все привыкли слышать о том, что Pascal медленнее C от 2-х до 5-ти раз. Это мнение глубоко укоренилось в головах большей части людей. Однако это не совсем так. Во первых корректно сравнивать конкретные компиляторы, а не языки в целом (т.к. у обоих языком компиляторов хватает). Во вторых в подавляющем большинстве тестов которые я видел …

Читать далее »

Дек 05 2013

R&D-проект по сжатию общего назначения закончен

Некоторое время назад встал вопрос о необходимости библиотеки для сжатия assert`ов в движке. На тот момент для этих целей использовалась библиотека LZO (к слову, единственная используемая мной сторонняя библиотека), однако из-за её GPL-лицензии надо было или покупать её pro-версию, или менять на что-то другое (возможно даже своё). Кроме того, давно назревал вопрос о целесообразности использования …

Читать далее »

Ноя 27 2012

Тестирование скорости обработки сообщений в CatServerObjects

Скорость обработки сообщений CSO

Разработка CSO медленно, но уверенно продвигается к своему логическому завершению. И если изначально CSO задумывалась как библиотека для реализации многопоточного асинхронного TCP-сервера, то в процессе разработки она трансформировалась в библиотеку многопоточной асинхронной обработки сообщений с поддержкой работы с файловыми дескрипторами (в том числе со специальными классами для реализации TCP-сервера). Классы связанные с TCP-соединениями и таймера …

Читать далее »

Ноя 09 2012

Сравнительное тестирование механизмов передачи сообщений в Linux

Пропускная способность при передачи сообщений различными API

При переработке CatServerObjects столкнулся с необходимостью выбора механизма передачи сообщений между потоками приложения. Для требуемой очереди были сформированы следующие требования: FIFO порядок обработки Поддержка сообщений различных размеров, но с возможностью наличия верхней границы Поддержка блокировки потока на время ожидания данных Поддержка работы с EPoll

Читать далее »