LinuxForum.Fans
Тема

Скорость вывода текстовой информации в терминале

Автор: gen 22 сообщений 1850 просмотров
#253726

Под терминалом я понимаю

Интерфейс командной строки (англ. Command line interface, CLI) — разновидность текстового интерфейса (CUI) между человеком и компьютером, в котором инструкции компьютеру даются в основном путём ввода с клавиатуры текстовых строк (команд), в UNIX-системах возможно применение мыши.[1] Также известен под названием консоль.

http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8

у меня есть программа(и для винды и для линукса есть вариант), которая выводит текстовую инфу в консоль.
В винде этот вывод очень медленный, в убунте 10.04 быстрый, в убунте 12.04 еще быстрее...

Внимание вопрос!
От чего это может зависеть, если прога одна и та же?

#253730

от терминала... очевидно же.... про финду ничего не скажу, а вот в линуксе как минимум три вида терминалов(разные по скорости вывода): обычная консоль, фреймбуферная консоль и иксовый эмулятор терминала.
фреймбуферная консоль - самый медленней.
иксовый - ограничивается производительностью иксовых дров
обычная консоль ограничевается производительностью vga режима.
в общем разницу скоростей последних двух можно только с time'ом засечь. а вот фреймбуфер на глаз виден.

на оффтопике скорость скорей всего ограничивается cmd.exe. попробуйте установить konsole.

#253733
Fat-Zer написал:
от терминала... очевидно же.... про финду ничего не скажу, а вот в линуксе как минимум три вида терминалов(разные по скорости вывода): обычная консоль, фреймбуферная консоль и иксовый эмулятор терминала.
фреймбуферная консоль - самый медленней.
иксовый - ограничивается производительностью иксовых дров
обычная консоль ограничевается производительностью vga режима.
в общем разницу скоростей последних двух можно только с time'ом засечь. а вот фреймбуфер на глаз виден.

на оффтопике скорость скорей всего ограничивается cmd.exe. попробуйте установить konsole.

познавательно...

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

А что использовать(какой терминал) для получения наибольшей скорости? Можно ли как-то увеличивать

производительностью иксовых дров

?

#253741
"gen" написал:
Можно ли как-то увеличивать производительностью иксовых дров

Установкой этих самых дров. Ведь драйверы есть не только проприетарные, но и свободные... Хотя, вывод 2D, насколько я понимаю, вылизан за долгое время настолько, что разницы между свободным и проприетарным драйвером в 2D-режиме быть не должно, или она есть, но незначительная. Эмуляторы терминалов - xterm, Konsole, да тьма тьмущая их. Большой разницы я не вижу, но предпочитаю Konsole - поддерживает вкладки, профили для отдельных программ... Мне вполне удобно.
ИМХО, самый быстрый вывод текста - либо в /dev/null, либо в голой консоли в обычном текстовом режиме, без наворотов...

#253754
"gen" написал:
познавательно... Получается если я поставил линукс, но дрова на видюху не поставил, то это может сказаться на скорости?А что использовать(какой терминал) для получения наибольшей скорости? Можно ли как-то увеличивать

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

"yars" написал:
самый быстрый вывод текста - либо в /dev/null

опередили меня =))

#253755

либо в голой консоли в обычном текстовом режиме, без наворотов...

имеете ввиду ctrl+alt+f1 ?

#253757

/dev/null - интересно... А можно попродробней?
например в обычной консоли я пишу имя своей проги и происходит печать инфы, а как это сделать с помощью /dev/null ?

#253758
"gen" написал:
имеете ввиду ctrl+alt+f1 ?

если она не фреймбуферная...

"gen" написал:
/dev/null  - интересно... А можно попродробней?

http://ru.wikipedia.org/wiki//dev/null

#253760
"gen" написал:
ctrl+alt+f1

Не, sudo init=3 :)

"gen" написал:
/dev/null  - интересно.

Это виртуальное пустое устройство. Если мы туда что-то пишем, оно бесследно и безжалостно уничтожается, а если читаем - забивает нулями ввод.

#253762

если она не фреймбуферная...

как это можно определить?

http://ru.wikipedia.org/wiki//dev/null

да да, прочитал... Поэтому и вопрос задал...

text
обычная консоль\>   mknod /dev/null c 1 3
обычная консоль\>   ИМЯ_ПРОГИ > /dev/null 2>&1
обычная консоль2\> reader /dev/null

так нужно это использовать?

#253763

sudo init=3

перезагрузка вроде была... хм

#253764
"yars" написал:
Если мы туда что-то пишем, оно бесследно и безжалостно уничтожается, а если читаем - забивает нулями ввод.

с /dev/zero путаете. попытка чтения возвращает eof.
правда говорят, что libastral может восстанавливать то, что туда записали =))

#253765

есть текстовый режим и графический... фреймбуферная - значит графическая? в таком случае ctrl+alt+f1 во многих линуксах дает графический режим.

#253767
"Fat-Zer" написал:
с /dev/zero путаете. попытка чтения возвращает eof.

А вот и нет. У меня оба есть:

text
ls -l /dev | grep null
lrwxrwxrwx 1 root root          4 2012-05-24 00:34 XOR -> null
crw-rw-rw- 1 root root     1,   3 2005-11-21 06:22 null
ls -l | /dev | grep zero
crw-rw-rw- 1 root root     1,   5 2005-11-21 06:22 zero

Хотя, может, я что-то упустил?
И да, действительно, попытка чтения возвращает EOF.

#253768

господа, не забывайте про меня! Мне важнее научится увеличить скорость вывода инфы на экран )))

#253770
"gen" написал:
в таком случае  ctrl+alt+f1 во многих линуксах дает  графический режим.

Необязательно. Если драйвер (модуль ядра) FrameBuffer Console загружен, то да (с оговорками). А с проприетарными драйверами видеокарты - текст и ничего более, имхо.

#253773

Может зависит от скорости работы самой проги ?

#253776

Может зависит от скорости работы самой проги ?

не думаю, прога одна и та же. Разные линуксы - скорость разная

#253777
gen написал:
Может зависит от скорости работы самой проги ?

не думаю, прога одна и та же. Разные линуксы - скорость разная

Не уверен, но может скорость можно сравнить как-нибудь так

text
time прога > /dev/null

Так скорость выполнения не будет зависеть от терминала.

#253778

если честно не понял почему именно этот фаил... с таким же успехом можно в /home сделать фаил и туда весь вывод перенаправить...

А еще такой вопрос.
Если в моей проге ввод есть, то есть от ввода будет зависить тип выводимых данных. То как в такой ситуации быть?

прога > /dev/null

выведет до момента ввода только...

Войдите или зарегистрируйтесь, чтобы ответить.