[an error occurred while processing this directive]
[an error occurred while processing this directive]


О менеджерах окон
Размышления о быстродействии

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

Поводом послужил отклик читателя - Николая Гребнева, на заметку про XFce, где содержалась такая фраза:

Нельзя забывать, что она (XFce) базируется на Gtk. Использовать KDE-приложения под XFce - для тех, у кого памяти много (держать несколько наборов библиотек в памяти - ну если очень надо).

Это навело меня на мысль, что основанные на Qt приложения должны бы лучше (быстрее и стабильнее) работать в средах на той же библиотеке (то есть в KDE), а Gtk-приложения - в средах на Gtk (то есть GNOME или XFce). Следовало проверить. Кроме того, было интересно, как ведут себя приложения, не использующие ни той, ни другой библиотеки. Например, StarOffice, использующий, как я понимаю, библиотеки фирменные. И медлительность которого уже стала притчей в Линуксовых языцех.

Измерения производились в следующей конфигурации: P-III/533 (не Coppermine, 133Mhz шина, 512 Кбайт кэша), системная плата MSI-6163 (Intel BX), 128 Мбайт памяти (один модуль PC-133, неизвестного происхождения), Matrox G-400 c 16 Мбайт памяти, диск Quantum Fireball 8,4 Гбайт (ATA-66, 5400 об./с); прочие компоненты полагаю несущественными. Видеорежим - 1024*768 при 16-битном цвете.

Сначала измерялось время запуска оконной среды из программы wmselect по щелчку на соответствующей пиктограмме; фон - по умолчанию в каждой среде, за исключением GNOME, без использования фоновых рисунков. Для GNOME оказалось, что время его запуска очень зависит от настроек Enlightenment; потому для последнего была подобрана достаточно типичная тема, без архитектурных излишеств, в противном случае результат был бы много хуже.

Затем в каждой из сред измерялось время запуска прикладных программ, основанных на Qt (Webmaker и Klyx) и на Gtk (Bluefish и GIMP). Результаты измерений приведены в таблице и представлены на рисунке.

Таблица. Сравнение быстродействия графических сред
Среда KDE GNOME WindowMaker XFce IceWM FLWM
Запуск 15.60 4.00 1.09 1.78 2.09 1.00
WebMaker 2.37 1.63 1.25 1.28 1.03 1.03
Klyx 2.03 2.03 1.50 1.10 0.82 0.97
Bluefish 2.56 2.31 2.10 1.59 1.50 1.66
GIMP 5.69 3.30 2.31 2.20 2.07 1.90
Среднее 5.65 2.65 1.65 1.59 1.50 1.31
Ср. для Qt 2.20 1.83 1.38 1.19 0.93 1.00
Ср. для Gtk 4.13 2.81 2.21 1.90 1.79 1.78

Примечание: время в секундах, среднее из пяти измерений

В первоначальном варианте заметки были приведены также данные по времени запуска StarOffice - программы, не использующей ни ту, ни другую библиотеку. Однако оказалось, что время его первого в сеансе (Linux, а не XWinwow) запуска и последующих различается более чем на порядок. Поэтому приведенные ранее измерения по этому поводу (выполненные, естественно, без перезакгрузки системы) отражали не быстродействие программы, а только эффективность ее кэширования. И потому были изъяты.

Диаграмма сравнительного быстродействия графических сред

Рис. Диаграмма сравнительного быстродействия графических сред

Разумеется, к приведенным в таблице цифрам нельзя относиться вполне серьезно. Поскольку в ряде случаев оно вполне сопоставимо со временем нажатия на кнопку секундомера и определялось моей личной реакцией. Однако некоторые качественные выводы из таблицы и диаграммы вполне можно сделать.

Так, вполне подтверждается бытующее среди линуксоидов мнение об особой медлительности KDE: время ее загрузки во много раз (4-15) превышает аналогичные показатели для все остальных сред. Для остальных приложений разница не столь значительна (2-3 раза), но именно потому, что абсолютные значения много меньше, и разница эта сглаживается латентностью человеческой реакции. К тому же предположение о более выстрой работе Qt-приложений в основанной на этой библиотеке среде не подтверждается.

GNOME стабильно занимает вторую (снизу) позицию по быстродействию. И, опять-таки, это верно и для Qt-, и для Gtk-приложений. Все прочие среды следует считать пркатически равными по быстродействию. Хотя функционально они весьма различны: среди них представлены как весьма насыщенные опциями среды (WindowMaker и XFce, в меньшей степени IceWM), так и системы, обеспечивающие лишь базовые функции управления интерфейсными элементами (FLWM).

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

Мой личный выбор какое-то время колеблался между WindowMaker и XFce. Однако более внимательное изучение возможностей IceWM однозначно (по крайней мере, на сегодняшний момент) склонило мое мнение к последней (или последнему?). Хотя KDE по прежнему полагаю наиболее подходящей средой для первого ознакомления с XWindow, по крайней мере - для пользователей Windows.

Разумеется, все сказанное относится только к тем средам, о которых говорилось в предыдущих заметках. Поскольку за чертой рассмотрения остались такие широко используемые среды, как Enlightenment (да и собственно GNOME), BlackBox, AfterStep, fvwm, twm, не говоря уже о менее известных. Нажеюсь, что когда-нибудь вернусь к этой теме.

Алексей Федорчук
Писано на Поселке 1 марта 2000 г.
Дополнено 18 марта того же года.


[an error occurred while processing this directive]

[an error occurred while processing this directive]