LINUX.ORG.RU

Эмуляторы терминалов: тест скорости, комментарии...

 , , , ,


2

5

Всем привет

По мотивам этой темы решил потестировать терминалы на скорость.
KDE. Gentoo. tmux (ну, и без него). Большинство терминалов свежеустановленные, то есть без правки конфигов; кроме konsole и xterm.
Наверное тесты не самые канонично правильные. Где большие огрехи говорите.

UPD: Переделал тесты
- теперь время вычислял не секундомером, а с помощью bc.
- оказывается достаточно сильно тормозил (и, вчастности, вызывал рывки при прокрутке) conky; выключил его.
- на тесты сильно влияет размер окна; эти тесты делал при максимизированном окне.

Тестировал выводом файла messages:

$ cat /var/log/messages.log | wc -l
148836
Тестовая команда:
$ START=$(date +%s.%N) ; cat /var/log/messages.log ; END=$(date +%s.%N) ; D=$(echo $END - $START | bc -l) ; echo "Duration: ${D:0:-8}"
Результаты
xterm: 56.0; экран мигает
xterm+tmux: 87.2s; только нижняя половина экрана мигает

Eterm: 27.6s; выводится плавно
Eterm+tmux: 28.7s; выводится плавно

termite: 3.9s ; выводится рывками
termite+tmux: 13.0s ; выводится плавно

qterminal: 3.6; выводится еле заметными равками
qterminal+tmux: 12.6; выводится еле заметными равками

konsole: 2.1s; выводится еле заметными рывками, примерно через 1 секунду после начала вывода экран замер, и потом показало конец файла
konsole+tmux: 12.7; выводится еле заметными рывками

st: 1.4s; выводится очень плавно
st+tmux: 13s; выводится очень плавно

urxvt: 0.7s; выводится очень плавно
urxvt+tmux: 13s; выводится очень плавно

Некоторые комментарии

Сразу скажу, что мне от терминала многого не нужно, только скорость, приятный внешний вид (шрифты, цвета) и корректная работа с клавиатурой; остальное мне даёт tmux. И я вот подумал, что такой терминал не должен быть большим и тянуть 100500 зависимостей...

xterm: некоторое время пользуюсь им как легковесным. Не сразу разобрался с конфигом (~/.Xdefaults, после правки нужно запустить xrdb ~/.Xdefaults, комментарий начинается с '!' а не с '#', кое-какое меню вызывается по Ctrl+RightClick). Оказался и вправду тормозным.

Eterm: самый наркоманский терминал. Искаропки не понимает кириллицу, глючит с tmux (нижняя строка раз в секунду дублируется и плывет вверх). Внешни вид (тема) - welcome to 90-е, и как сменить - сходу не нашел. Кроме того - жуткий тормоз.

termite: в Gentoo пришлось подключить оверлей nightmare, что для меня минус. Терминал как терминал. По дефолту идёт достаточно приятная тема. Говорят, удобный.

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

st: произвел очень хорошее впечатление: приятная дефолтная тема, самая плавная работа из всех, очень маленький размер. Правда конфигурируется методом правки исходников; но меня это мало пугает, так как операция разовая, в Gentoo это делается просто, да и дефолт неплох. Еще говорят, очень большой текст из буфера обмена не вставить.

urxvt: а я думал, что st по скорости уже ничто не обгонит :) . Еще говорят, что можно perl'е расширения делать. Ну ок.

Итог (для себя)
Или st или urxvt.

Замечания? Комментарии?

P. S. Как вовремя: Какой эмулятор терминала в качестве основного вы используете в 2016 году?
P. P. S. Вот бы еще такой бразуер найти...

★★★★★

Это всё конечно круто, но на другом видеодрайвере бывают совсем противоположные результаты.

anonymous ()
Ответ на: комментарий от anonymous

Это всё конечно круто, но на другом видеодрайвере бывают совсем противоположные результаты.

Ну так дай тесты на другом видеодрайвере.

А если честно - очень сомневаюсь.

Kroz ★★★★★ ()

Сразу скажу, что мне от терминала многого не нужно, только скорость, ...

А в чём профит от скорости? На глаз же всё равно особо не заметно, если не выводить на экран кучу ненужного текста.

Что помню по поводу st: прокрутки в нём нет, обязательный двойной буфер (картинки не порисуешь) и цветом фона не ставились цвета из 256-цветовой палитры. Последнее может уже подправили. Первые два не критичны и by design, но неудобства всё же иногда доставляют. Вернулся на xterm и разницы особо не замечаю, поэтому и спрашиваю о скорости вывода.

xaizek ★★★★★ ()
Последнее исправление: xaizek (всего исправлений: 1)

Недавно на говно мамонта поставил alpine linux и dwm с st. Ввод в st дико тормозил, примерно один символ в секунду, а urxvt работал очень хорошо.

DeaDDooMER ()
Ответ на: комментарий от Kroz

Выходит ты в своих результатах очень не сомневаешься, хотя их не проверял :D

anonymous ()

Не сразу разобрался с конфигом (~/.Xdefaults, после правки нужно запустить xrdb ~/.Xdefaults, комментарий начинается с '!' а не с '#', кое-какое меню вызывается по Ctrl+RightClick).

Гы, сына, лол! Вот и выросло поколение котят ...

Hint: любое X11 приложение подхватыает свои app-resources на ходу.

На примере xterm — это /etc/X11/app-defaults/XTerm (глобоально) или ~/XTerm (или где настоишь через env XUSERFILESEARCHPATH, XAPPLRESDIR).

А править ~/.Xdefaults и дёргать xrdb — это для дошкольников.

https://www.ict.griffith.edu.au/anthony/info/X/Resources.hints

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 3)
Ответ на: комментарий от Kroz

# date +%s.%N && cat /var/log/messages | wc -l && date +%s.%N
1465827520.884264702
13117
1465827520.890643507

tmux zsh urxvt yeachconsole

% cat /proc/cpuinfo|grep 'model name' | sort | uniq
model name : Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz

# free -h
total used free shared >buff/cache available
Mem: 15G 2,1G 10G >176M 2,8G 12G
Swap: 487M 0B 487M

% lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

Nicholass ★★★ ()

Как основной использую urxvt, иногда пользуюсь xterm.

andreyu ★★★★★ ()

termite: в Gentoo пришлось подключить оверлей nightmare, что для меня минус.

r3lgar, как тебе не стыдно :-D

Falcon-peregrinus ★★★★★ ()

st подойдет если тебе кроме скорости ничего не нужно. urxvt подойдет в большинстве кейсов. Я для себя выбрал termite, так как скорость приемлема, приложения работают корректно, есть нужные мне фичи (можно не использовать tmux) и на баги я пока не нарвался.

feofan ★★★★★ ()

Сразу скажу, что мне от терминала многого не нужно, только скорость, приятный внешний вид (шрифты, цвета) и корректная работа с клавиатурой; остальное мне даёт tmux.

tmux — это, если мне не изменяет память, аналог GNU Screen’а. То есть это, грубо говоря, эмулятор терминала для терминала, то есть это для работы с удаленным телетайпом по SSH или еще как. Что такое «остальное» он вам дает?

Zmicier ★★★★★ ()
Последнее исправление: Zmicier (всего исправлений: 1)

Если в urxvt выставить большой scrollback буфер и активно пользоваться вкладками - он течет. Безбожно. Разрабы фиксить не горят желанием :(

leave ★★★★★ ()
Ответ на: комментарий от Nicholass

Обновил тесты.

Тестировать лучше так, причем лучше в сравнении терминалов, так как количество строк в /var/log/messages может быть разное.

START=$(date +%s.%N) ; cat /var/log/messages.log ; END=$(date +%s.%N) ; D=$(echo $END - $START | bc -l) ; echo "Duration: ${D:0:-8}"

Kroz ★★★★★ ()
Ответ на: комментарий от Zmicier

tmux — это, если мне не изменяет память, аналог GNU Screen’а. То есть это, грубо говоря, эмулятор терминала для терминала, то есть это для работы с удаленным телетайпом по SSH или еще как. Что такое «остальное» он вам дает?

- tmux обеспечитвает табы, окна и работу с ними (переключаться, перемещать, split, максимизировать и т. п.)
- tmux имеет свой буфер (прокрутку) и работу с ним (например, поиск); правда именно это не очень удобно реализовано
- если сделать вот так:

$ alias tmux='/usr/bin/tmux attach || /usr/bin/tmux new'
, то получается одна сессия на пользователя (в сессии сколько угодно табов и окон). То есть я могу начать работать в консоли, потом загрузить иксы с каким-то urxvt, и, выполнив tmux, продолжить работу, а потом сесть за другой комп, подключить по ssh и опять же, запустив tmux, продолжить работу.

И теперь мне пофиг на аналогичные фичи эмулятора терминала

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Поиск по выхлопу и открытие ссылок с клавиатуры. И без tmux, а значит прокрутка удобная. В urxvt тоже есть эти фичи (в виде дополнений на perl), но там есть пару неприятных для меня багов в нетривиальных кейсах. Собственно, из-за этих багов я сбежал сначала на xterm + tmux (где мне надоела неудобная прокрутка), а теперь на termite.

feofan ★★★★★ ()
Последнее исправление: feofan (всего исправлений: 2)
Ответ на: комментарий от Kroz

А! Ну то есть он вам для удаленной работы и нужен. Тогда понятно, спасибо.

(Ибо очевидно, что окна и вкладки он реализует ущербнее, чем оконный диспетчер, а прокрутку, поиск и копирование — ущербнее, чем эмулятор терминала, ну и так далее.)

Zmicier ★★★★★ ()
Ответ на: комментарий от beastie

А править ~/.Xdefaults и дёргать xrdb — это для дошкольников.

Вот как это нужно было найти?
http://superuser.com/questions/137423/config-files-for-xterm
http://askubuntu.com/questions/472678/custom-settings-of-xterm
https://debian-administration.org/article/66/Customizing_your_xterm
https://forums.gentoo.org/viewtopic-t-883409-start-0.html
https://wiki.archlinux.org/index.php/X_resources (это еще нужно доочитать до синего квадратика)

Kroz ★★★★★ ()

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

Попробуй ещё QTerminal, там нет KDE-специфичного шлака.

EXL ★★★★★ ()
Ответ на: комментарий от Falcon-peregrinus

как тебе не стыдно :-D

Почему мне должно быть стыдно за то, что некоторые юзеры хотят, чтобы дерево генты превратилось в помойку?

Kroz, что значит минус? То есть ты бы предпочёл подключить другой оверлей (потешь моё ЧСВ), или писать и поддерживать ебилд сам?

// ОП не читал, мне не интересно.

r3lgar ★★★★★ ()
Ответ на: комментарий от Zmicier

окна и вкладки он реализует ущербнее, чем оконный диспетчер

Какой оконный деспетчер? Windows manager? Вкладки??? Окна - так вообще не то, что в windows manager.

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Windows manager? Вкладки???

А что тебя удивляет? Вроде 5 звёзд - должен уже быть в курсе.

feofan ★★★★★ ()
Ответ на: комментарий от Kroz

Старики белую магию уже забыли, а дошкольники о ней и не догадываются. Только друг-другу обрывки рецептов тычят, которые сами и не понимают.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Kroz, что значит минус? То есть ты бы предпочёл подключить другой оверлей (потешь моё ЧСВ), или писать и поддерживать ебилд сам?

Не, тебе респект и уважуха, особенно за флаг termite-patch в vte. Но мне сам факт подключения стороннего репозитория является минусом.
Я бы предпочел иметь termite в основном дереве.

Kroz ★★★★★ ()
Ответ на: комментарий от feofan

А что тебя удивляет? Вроде 5 звёзд - должен уже быть в курсе.

Слушай, я слышал, что некоторые WM позволяет несколько окон объединять в табы. Но я не буду менять WM из-за базовой фичи терминала.

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от Kroz

Я это не к тому, что текущий тред не нужен, так как подобные тесты уже проводились, а просто оставил интересную тебе ссылку.

EXL ★★★★★ ()
Ответ на: комментарий от xaizek

За скорость мне не отвечают, ну и ладно. Померял, разница несущественна (размер вывода 175854 строк):

xterm: 6.0
xterm+screen: 7.2
st: 0.6
st+screen: 1.2

И по поводу вот этого:

xterm: 56.0; экран мигает
xterm+tmux: 87.2s; только нижняя половина экрана мигает

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

xaizek ★★★★★ ()
Ответ на: комментарий от EXL

Попробуй ещё QTerminal, там нет KDE-специфичного шлака.

geekless, по ссылке, что ты да, очень точно его описал.
Performance - чуть хуже, чем у konsole:
qterminal: 3.6
qterminal+tmux: 12.6

Kroz ★★★★★ ()
Ответ на: комментарий от xaizek

А в чём профит от скорости?

Глазу заметно, раздражает. Реально мешает, когда выхлоп правда большой. А когда вывод - не просто cat, а, например, выхлоп gcc, то есть подозрение (не проверял, правда), что еще и тормозит процесс.

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

KDE 4 это умело. Сомневаюсь, что в 5 выпилили - это всё же не гном. К тому же есть tabbed от тех же suckless, он не зависит от wm.

feofan ★★★★★ ()

в Gentoo пришлось подключить оверлей nightmare, что для меня минус.

а кинуть в локальный оверлей ебилд оттуда, тоже минус?

l-_-l ()
Ответ на: комментарий от xaizek

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

Странно, что в стандартных флагах её нет.

$ emerge -av --nodeps xterm

These are the packages that would be merged, in order:

[ebuild   R    ] x11-terms/xterm-325::gentoo  USE="openpty truetype unicode xinerama -Xaw3d -toolbar" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

Даже не смотря на то, что
Warning: Double buffering may cause non-bitmap fonts to render incorrectly.
https://wiki.archlinux.org/index.php/Xterm#Flickering_on_scroll

Kroz ★★★★★ ()
Ответ на: комментарий от EXL

Ок. Тогда tabbed. К тому же termite умеет и вкладки и табы. Всё равно я не буду использовать - мне хватает awesome.

feofan ★★★★★ ()
Последнее исправление: feofan (всего исправлений: 1)
Ответ на: комментарий от Kroz

В настройках kwin посмотри - может у тебя отключено.

feofan ★★★★★ ()
Ответ на: комментарий от Kroz

Я бы предпочел иметь termite в основном дереве.

В основном дереве его не будет, как мне кажется. Он требует патчить другой пакет (который, кстати, мейнтейнят совсем другие люди), патч к которому тоже нужно поддерживать в актуальном состоянии. Я с этим справляюсь (пока), в дереве это повлечёт или мейнтейнерство пакета гномокомандой генты, или ад и израиль с ожиданием друг друга, и задержкой с апдейтом пакета.

Вообще, не понимаю бугурта на эту тему. Оверлеи — это хорошо. И было бы лучше, если бы из основного дерева всякий трэш разнесли по тематическим оверлеям. Не надо превращать основное дерево в помойку.

Да, оверлеев-помоек хватает (я не буду озвучивать их названия, но некоторые и без этого их знают), но я стараюсь подобного не вытворять. Да и иссуи открыты для всех, и пулл-реквесты я принимаю (хоть и слоупочу иногда, помимо оверлея есть ещё жизнь и другая работа), так что tervetuloa.

r3lgar ★★★★★ ()
Ответ на: комментарий от feofan

В настройках kwin посмотри - может у тебя отключено.

Где именно?
Делал по этому видео, там вконце есть про настройки (кроме того, что у меня тема не oxygen).
https://www.youtube.com/watch?v=TCL_6YNgc8w
не сработало

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Извани, но от видео меня чуть на стошнило. Я уже лет 15 не видел KDE. Оказывается, оно всё ещё такое же бажное, как и когда-то??? Лаги просто повсюду.

кроме того, что у меня тема не oxygen

Он же там говорит, что oxygen обязателен.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Я уже лет 15 не видел KDE.

Там KDE 4, да? KDE 3.5 по-сравнению с ним оплот стабильности.

меня чуть на стошнило

Oxygen

Ничего удивительного, нормальных людей от одного вида Oxygen подташнивает.

EXL ★★★★★ ()
Ответ на: комментарий от Kroz

Вообще я подробностей не помню, давно было, но про зависимость от тем что-то смутно припоминаю =) Быстрое гугление показывает, что зависимость таки есть. Можешь попробовать временно сменить тему.

feofan ★★★★★ ()
Ответ на: комментарий от r3lgar

Не разделяю твоего мнения.

Всё должно быть в основном дереве. Это:
1) Удобно: мне не нужно бороздить zugaina'у, а потом колдовать над layman/repos.conf, чтобы поставить нужный мне набор софта. Искаропкаи доступно всё, что мне нужно, я просто выбираю.
2) Секурно. По сути мое согласие установить из твоего оврелея базируется только на доверии к тебе. Официальное дерево - доверие gentoo оргаинизации. Есть надежда, что они там хоть как-то следят за этим (хоть периодически гоняют антивирусом или что там нужно делать)
3) Ничего не ломает. В основном дереве, как я понял, есть какие-то стандарты качества, тесты, хотябы на совместимость пакетов между собой. Недаром есть тестовая ветка, недаром пакеты маскируют.
4) Больше шансов что будет жить. Вот надоест тебе Gentoo, кто подхватит твой оверлей? А ведь там много ценного, я уверен. А в официальном дереве - там больше шансов что кого-то найдут.

Оверлеи - это либо какие-то личные патчи, либо что-то в совсем начальном состоянии, коим было KDE5 не так давно, либо если по каким-то соображениям не проходит стандарты качества основной ветки.

С этой точки зрения я бы приветствовал, если бы ты включил свои пакеты в основное дерево и продолжил их поддерживать как сейчас. Если это не противоречит ЧСВ, конечно.

Kroz ★★★★★ ()
Ответ на: комментарий от beastie

Извани, но от видео меня чуть на стошнило. Я уже лет 15 не видел KDE. Оказывается, оно всё ещё такое же бажное, как и когда-то???

Там 4-е кеды, и далеко не последние в 4-й ветке. Это видео 2009 года.

Он же там говорит, что oxygen обязателен.

А мне не нравится oxygen. Мне нравится Breeze Dark (только аккуратно с желудком: там скриншот двухгодичной давности; иконки в трее уже поправили, кнопки на окнах справа вверху другие, иконки приложений тоже поменяли... )

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

А мне не нравится oxygen.

Большинство KDE «фичей» реализовывали именно для этого стиля, тот же Neon на окнах, который не работает в других WM-темах. Вот и с табами так же.

Можешь отписаться в тред https://forum.kde.org/viewtopic.php?f=111&t=130675, если разрабы увидят, что фича эта нужна, то они её реализуют и в KDE 5, где по-дефолту уже Breeze и Breeze-dark.

EXL ★★★★★ ()
Ответ на: комментарий от Kroz

Удобно

А удобно ли искать в выхлопе eix нужное по ключевому слову?

Секурно

А тебе кто-то запрещает заглянуть в ебилд, и посмотреть, откуда качаются сорцы и что с ними делается?

Ничего не ломает.

Вот тут — да. Тут я с тобой полностью согласен, даже примеры есть, но это выходит за рамки этого треда.

В основном дереве, как я понял, есть какие-то стандарты качества, тесты, хотябы на совместимость пакетов между собой.

За другие оверлеи ответственности не несу, но свой содержу максимально близко к PMS.

Вот надоест тебе Gentoo

Взоржал. Правда.

кто подхватит твой оверлей?

Так форкать никто не запрещал. Да и наверняка кто-нибудь будет постепенно протаскивать ебилды в дерево, если я вдруг сдохну.

Оверлеи - это либо какие-то личные патчи, либо что-то в совсем начальном состоянии, коим было KDE5 не так давно, либо если по каким-то соображениям не проходит стандарты качества основной ветки.

А ещё есть пакеты, которые требуют большего взаимодействия разных мейнтейнеров (или групп). Примером такого пакета как раз является termite, который требует или патченный vte, или vte-ng, который конфликтует с vte.

С этой точки зрения я бы приветствовал, если бы ты включил свои пакеты в основное дерево и продолжил их поддерживать как сейчас. Если это не противоречит ЧСВ, конечно.

Это противоречит моему отношению к внутренней политике Gentoo. Я не против правил, просто они меня не устраивают в том виде, в каком они есть. Но это не отменяет того, что я придерживаюсь стандартов.

r3lgar ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.