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