Прогресс в оптимизации производительности KDE Plasma

Аарон Сейго (Aaron Seigo), основной разработчик KDE-оболочки Plasma, сообщил о проведении ряда оптимизаций, связанных с уменьшением потребления памяти и ускорением выполнения операций с файлами. В процессе работы Plasma используется большое количество файлов с диска, например, при чтении QML-стилей, использовании плазмоидов или загрузке изображений при отображении визуальных тем.

В рамках проекта libplasma2 Аарон решил реализовать поддержку кэша обращений к файловой системе. Дополнительно были переработаны классы Package с целью экономии памяти, благодаря использованию структур меньшего размера и минимизации дублирования данных за счет организации совместного использования несколькими объектами. Результат оказался впечатляющим: время выполнения 100 тыс. операций копирования и удаления сократилось с 2700мс до 37мс, а 100 тыс. операций копирования, проверки и удаления - с 3900мс до 40мс. К сожалению внесенные изменения основаны на подвергнутому рефакторингу коде классов Package и PackageStructure и не могут быть бэкпортированы в libplasma1.

Похожий кэш файловых запросов был также добавлен в код, связанный с отображением визуальных тем. При этом этот кэш, в отличие от переработки классов Package и PackageStructure, может легко быть бэкпортирован для ветки KDE 4.7. При использования кэша в коде обработки тем скорость проверки наличия 100 тысяч файлов уменьшилась с 6 секунд до 1/4 сек. Ценой кэширования является незначительное повышения потребления памяти (несколько килобайт).

Источник:
http://www.opennet.ru/opennews/art.shtml?num=31289

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>