О менеджерах окон
Размышления о быстродействии
Как я уже говорил в одной из первых заметок, сравнение возможностей различных
графических сред не входило в мои цели. Не собирался я также оценивать их с
позиций лучше-хуже , тем паче, определять победителя в этом социалистическом
соревновании. Но сравнение их быстродействия меня заинтересовало.
Поводом послужил отклик читателя - Николая Гребнева, на заметку про 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 марта того же года.
В начало
К оглавлению
На главную страницу
Copyleft by
Alex Fedorchuk