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

25 июля 2011 года

Аарон Сейго (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 сек. Ценой кэширования является незначительное повышение потребления памяти (несколько килобайт).

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Прогресс в оптимизации производительности KDE Plasma», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.