Бенчмарки

Кто-то может спросить меня: "Эльф, а что ты там опять творишь со своим Сигуи? Что там может быть такого сложного, что ты никак не можешь выпустить новую версию?"
Сегодня мне есть, что ответить на этот вопрос так, чтобы было понятно.



Немного теории

С помощью архитектуры 0.5 я постарался оптимизировать работу cigui, сделав время исполнения команд быстрее, чем в прошлых версиях. Вспоминая правило одно из правил оптимизации
  оптимизируйте те части кода, к которым чаще всего происходит обращение
решил прежде всего разобраться в регулярных выражениях. Да-да, мои разговоры о RegExp относились именно к попыткам ускорить выполнения команд, потому что именно к ним чаще всего происходит обращение - каждый цикл Сигуи читает строку текста (иногда даже несколько раз), отыскивая зарегистрированные команды.


Практика

  • я написал две функции для сравнения. в первой функции выполняется код, составленный по архитектуре Сигуи версии 0.4, во второй же записан тот же самый код по архитектуре 0.5
  • результаты: скорость выполнения кода по примеру из Сигуи 0.4 - 23 секунды*, а того же кода версии 0.5 - 18 сек.
  • таким образом, разница между ними ~25%, следовательно, скорость выполнения кода на архитектуре версии 0.5 (а потом и 0.6) повышается на 25%
*тестирование проводилось на один миллион тактов процессора.

Пояснение результатов
С учетом того, что с версии 0.6 я собираюсь внедрить больше методов, выполняющихся в параллельных процессах, скорость очень важна. По окончании работы над кодом я начну сравнивать результаты скорости выполнения критических мест двух версий и анализировать их. Очень надеюсь, что все мои старания принесут успех и немалый.

Комментарии

  1. Меня, если честно, больше беспокоит функционал. А еще я хотел подкинуть тебе идею реализовать самое простое чезе общие события, или это уже есть?)
    Но ускорение работы тоже важный вопрос, одобряю!

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

Генератор названий оружия

Создание компонента Delphi

Идеи: Генератор сказки