Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

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

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

Поводом послужил отклик читателя - Николая Гребнева, на заметку про 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


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP