Встречайте! Утилиты Calculate 3.3.2

spidometr.jpg

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

В версии 3.3.2 были проведены множественные оптимизации как самих утилит, так и их вызовов из скриптов. Для быстрого получения значений переменных была написана утилита /usr/libexec/calculate/cl-variable, ускорена работа с файлами настроек, добавлены проверки на необходимость обновления профиля пользователя, для исключения вызова утилит был добавлен кэш настраиваемых пакетов. Внесённые изменения никак не отразились на функционале утилит.

Некоторая статистика времени работы:

  • настройка сеанса пользователя: 11 сек. -> 5.2 сек. (2.12 раз);
  • обновление настроек сеанса: 2.6 сек. -> 0.72 сек. (3.6 раз);
  • настройка системы при первой загрузке (/etc/init.d/calculate restart): 42 сек. -> 21.2 сек. (1.98 раз);
  • настройка системы (cl-setup-system): 46 сек.-> 23 сек. (2 раз);
  • перезапуск calculate-core: 5.8 сек. -> 2.1 сек. (2.76 раз);
  • выполнение clt-шаблонов (cl-setup-system T clt): 3.2 сек.> 1.2 сек. (2.28 раз);
  • настройка пакета (cl-core-setup -pkg-name=…): 6.8 сек.> 2.5 сек. (2.72 раз);
  • вход в сеанс: 9 сек. -> 3 сек. (3 раз);
  • выход из сеанса: 5 сек. -> 1.5 сек. (3.3 раз).

Цифры могут отличаться в зависимости от аппаратной конфигурации.

Помимо этого в шаблонах был изменён механизм настройки запуска служб. Теперь для исключения службы из автозагрузки вместо создания clt-шаблона, достаточно выполнить “rc-update del имя_службы”. Учёт настроенных служб теперь ведётся в файле /etc/calculate/ini.env.

Гратс!

Это всё здорово, наверное… Перевод утилит на третий питон когда планируется? На текущий момент утилиты - единственное что жёстко требует второго питона у меня в системе.

К сожалению не скоро. Сперва нужно переписать утилиты 2.1 и 2.2.