Мар 24 2017

Обработка исключений: SjLj vs SEH

В рамках подготовки к релизу CFW 0.8 была осуществлена небольшая переработка обработки исключений в СRTL и CSRTL. После проведения работ было решено провести сравнение скорости получившихся реализаций с реализацией из стандартной RTL FPC, а также сравнить между собой два подхода к реализации обработки исключений SjLj (используемых FPC в Unix системах) и SEH (обязательный для Win64).

Подробнее »

Окт 06 2016

Результаты переработки многопоточной реализации генерации простых числе для RSA и DH

Ещё весной, во время реализации DHE, я обратил внимание на плохую масштабируемость генерации ключей, хотя в теории этот процесс должен параллелиться почти идеально. Получалось же что RSA хоть как-то параллелиться до 4-х потоков, а DH вообще до 2-х. После небольшого расследования причин и соотв. переработки алгоритмов было произведено небольшое тестирование: среднее время генерации ключа на серии из 100 ключей в зависимости от размера ключа и кол-ва потоков. Ниже привожу результаты (тестирование проводилось на Xeon-D 1540).

Подробнее »

Июн 05 2016

Разработка Cat Server Platform разморожена

Наконец-то возобновились работы над CSP и прояснились перспективы её дальнейшего развития.
В первую очередь это вызвано началом глубокой переработкой внутренней инфраструктуры Cat Company.

Текущая инфраструктура (как аппаратная, там и программная её части) была заложена в 2011 году и с тех пор получала лишь косметические изменения. А некоторые концептуальные подходы к организации обеспечения работы и вовсе датируются 2007-м годом. Всё это начало выливаться в то, что эта инфраструктура уже мало соответствовала как текущим требованиям к организации работ, так и текущий требованиям к информационной безопасности. Кроме того поддержание её работоспособности начинало требовать всё больше и больше времени. В связи с этим с начала 2015 года началась разработка плана по её модернизации.

Подробнее »

Май 08 2016

Бюллетень шифрования для сетевого обмена

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

Подробнее »

Фев 17 2016

Работа над протоколом SNT/IP и его реализацией завершена

Недавно была завершена работа над сетевым протоколом SNT/IP (часть компонента SkyNT), разрабатываемым для Sky Engine 2, его референсной реализацией и эмулятором сети для её тестирования и отладки. Полученные характеристики протокола хоть и оказались несколько хуже ожидаемых при начале работы, но вполне приемлемые:

Подробнее »

Янв 18 2016

О результата тестирования сети при разработке протокола SNT/IP

Ещё в мае 2012 года я начал небольшой R&D проект по созданию сетевого протокола для нужд MMORPG с no-target системой боя. Теоретическая часть была почти закончена ещё в 2012 году, но дальше проект был заморожен из-за наличия более приоритетных задач. И вот в начале декабря 2015 года работы над ним были возобновлены.

Подробнее »

Дек 24 2015

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

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

Подробнее »

Июл 18 2015

Релиз: Cat Framework 0.6 + Cat Server Platform 0.6

Сегодня состоялся третий релиз нашего фреймворка Cat Framework. Это первый релиз Cat Framework, который выпускался по полноценной схеме: разработка -> заморозка функционала и выпуск RC -> исправление ошибок в RC -> релиз. В рамках данного релиза произведена масштабная переработка структуры фреймворка. Данный релиз будет положен в основу нового проекта команды – SkyGL.

Как обычно приведу некоторою статистику. От релиза CFW 0.4 релиз CFW 0.6 отделяют 173.5 часов работы, 16 закрытых задач в Redmine, ~68 ревизий SVN. Размер фреймворка составляет 2510+287КБ (в 157+43 файлах). Фреймворк насчитывает 33899/3352/3525 + 2825/289/294 строк кода/строк комментариев/пустых строк.

Май 31 2015

Работа над аудио-микшером движка завершена

Недавно была завершена работа над аудио-микшером движка SkyEngine2 (не путайте аудио-микшер с аудио-рендером). При разработке микшера ставились следующие задачи:

  • Все звуки и музыка должны иметь частоту дискретизации в 48KHz и разрядность в 16 бит
  • Микширование должно производиться в формате Float32
  • Возможность воспроизведения фоновой музыки с плавной сменой музыкальных тем
  • Отсутствие необходимости удерживать в оперативной памяти данные всего музыкального трека (chaining)
  • Возможность воспроизведения до 64-х стерео звуков с независимой задачей громкости для каждого из них
  • Минимизация затрат памяти, особенно оперативной, на хранение данных звуков и музыки
  • Возможность генерировать звуковые пакеты различной длинны (480, 800, 960, 1200, 1600, 1920 или 2400 звуковых отсчётов)

Подробнее »

Мар 09 2015

0.6RC для Cat Framework + Cat Server Platform

После 4-х месяцев разработки Cat Framework + Cat Server Platform они выходят на release candidate в версию 0.6. Все необходимые изменения для версии 0.6 сделаны, но её релиз задерживается из-за необходимости быть полностью уверенными в качестве кода, т.к. возможно этот код будет использоваться в коммерческом продукте.

В рамках работы над версией 0.6 была проведена значительная работа над изменением внутренней структуры библиотеки, переименования модулей в соотв. с новой схемой именования и дедупликацией кода. Как обычно приведу некоторою статистику.

От версии 0.4 версию 0.6RC отделяют 173.5 часов работы, 16 закрытых задач в Redmine, ~55 ревизий SVN. Размер фреймворка составляет 2440+287КБ (в 155+43 файлах). Фреймворк насчитывает 39811+3408 строк кода. Кроме того, теперь я перехожу на учёт кол-ва строк с помощью утилиты cloc, которая позволяет отделять код от пустых строк и комментариев. Так что все новые результаты будут в формате: строк кода/строк комментариев/пустых строк. Для 0.6RC её результаты таковы: 33078/3297/3436 + 2825/289/294.

Предыдущие сообщения «