|
|
Модуль поиска не установлен. |
О менеджерах окон. Размышления о быстродействии
Как я уже говорил в одной из первых заметок, сравнение возможностей различных графических сред не входило в мои цели. Не собирался я также оценивать их с позиций лучше - хуже, тем паче определять победителя в этом социалистическом соревновании. Но сравнение их быстродействия меня заинтересовало.
Поводом послужил отклик читателя Николая Гребнева на заметку про 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, а не XWindow) запуска и последующих различается более чем на порядок. Поэтому приведенные ранее измерения по этому поводу (выполненные, естественно, без перезагрузки системы) отражали не быстродействие программы, а только эффективность ее кэширования.
Рис. Диаграмма сравнительного быстродействия графических сред
И потому были изъяты.
Разумеется, к приведенным в таблице цифрам нельзя относиться вполне серьезно. Поскольку в ряде случаев они вполне сопоставимы со временем нажатия на кнопку секундомера и определялись моей личной реакцией. Однако некоторые качественные выводы из таблицы и диаграммы вполне можно сделать.
Так, вполне подтверждается бытующее среди линуксоидов мнение об особой медлительности 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, не говоря уже о менее известных. Надеюсь, что когда-нибудь вернусь к этой теме.
Алексей Федорчук
|