|
0 / 0 / 0
Регистрация: 30.11.2019
Сообщений: 3
|
|
Скорость вывода в консоль30.11.2019, 20:10. Показов 9631. Ответов 19
Здравствуйте. У меня есть список элементов, его заполнение занимает доли секунды, но вывод в консоль порядка 30-40 секунд.
В списке 180.000 - 200.000 элементов, их нужно выводить каждый раз с новой строки. При выводе в консоль, как я понял, программа ждет пока символ напечатается, а потом отправляет на печать следующий. Можно ли как-то вывести их хотя бы за 10-15 секунд (желательно как можно быстрее), или есть какое-то ограничение по скорости? Может есть модуль для такой операции?
0
|
|
| 30.11.2019, 20:10 | |
|
Ответы с готовыми решениями:
19
Обработка вывода в консоль от программы Подготовить числа для вывода на консоль через ASCII и вывести на консоль Буферизация вывода в консоль, и цветной вывод в консоль |
|
815 / 527 / 214
Регистрация: 22.12.2017
Сообщений: 1,495
|
||||||
| 01.12.2019, 05:24 | ||||||
![]() умельцы, признавайтесь, как вместо 'test2.txt' подставить pathlike объект консоли?
1
|
||||||
|
Просто Лис
|
||||||||||||||||||||||||||||
| 01.12.2019, 08:06 | ||||||||||||||||||||||||||||
|
Внезапно, первый вариант оказался быстрее:
Добавлено через 2 минуты ха!
Отключение буфера даёт ещё немного прироста скорости:
1
|
||||||||||||||||||||||||||||
|
815 / 527 / 214
Регистрация: 22.12.2017
Сообщений: 1,495
|
|||||||||||
| 01.12.2019, 08:53 | |||||||||||
|
Рыжий Лис,
![]() дело в том, что я на stackoverflow нашел такой пример
0
|
|||||||||||
|
815 / 527 / 214
Регистрация: 22.12.2017
Сообщений: 1,495
|
||||||
| 01.12.2019, 09:19 | ||||||
0
|
||||||
|
815 / 527 / 214
Регистрация: 22.12.2017
Сообщений: 1,495
|
||||||
| 01.12.2019, 09:37 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.11.2019
Сообщений: 3
|
||||||
| 01.12.2019, 13:07 [ТС] | ||||||
Можете мне написать, что стоит вместо "print('\n'.join(arr))"? Попробовал как вы говорили, но у меня все то же время.
0
|
||||||
|
|
|
| 01.12.2019, 13:37 | |
|
На всякий случай - выводить в консоль 200 тысяч цифр и затем ждать когда оно выведется (да еще быстро) - это немножко идиотизм. Вы все равно увидите в консоли только последнюю сотню. Тогда зачем выводить все?
Но, как говорится, хозяин-барин. И вообще зачем все это нужно ТС-у - никому не интересно?
0
|
|
|
0 / 0 / 0
Регистрация: 30.11.2019
Сообщений: 3
|
|||||||
| 01.12.2019, 13:42 [ТС] | |||||||
0
|
|||||||
|
|
||
| 01.12.2019, 13:49 | ||
|
P.S. Все эти попытки оптимизации вывода в консоль довольно бессмысленны, так как все зависит от проца. К примеру, на моем уже довольно стареньком 4-x ядерном быстрее чем за 17 сек уже никак не выходит. Упс...
0
|
||
|
|
||
| 01.12.2019, 13:56 | ||
|
Одно дело - логирование (но тут и скорость нафиг не нужна). Другое - совершенно глупая затея ТС по созерцанию 200 тысяч чиселок в консоли.
0
|
||
|
815 / 527 / 214
Регистрация: 22.12.2017
Сообщений: 1,495
|
||||||||||||||||
| 01.12.2019, 19:47 | ||||||||||||||||
Сообщение было отмечено MopKowKa как решение
Решение
в общем, забудьте про прибавку к скорости, сильно быстрее встроенного принта вряд ли выйдет Добавлено через 1 минуту но на более мелких выводах os.write() таки выигрывает
1
|
||||||||||||||||
|
|
|||||||
| 01.12.2019, 21:24 | |||||||
Потому что нельзя найти алгоритма оптимизации, который будет аппаратно-независимым.
0
|
|||||||
|
815 / 527 / 214
Регистрация: 22.12.2017
Сообщений: 1,495
|
|
| 01.12.2019, 21:32 | |
|
согласен, а чтоб порядок был как у меня надо было второй раз запустить, оно там вроде в памяти выстраивается как надо после первого прохода
0
|
|
|
|
|
| 02.12.2019, 11:54 | |
|
Солидарен с Garry Galler.
Операция вывода в консоль - в принципе медленная. Ухищряться с буферами можно, но, вероятнее всего, вам это просто не нужно.
0
|
|
| 02.12.2019, 11:54 | |
|
Помогаю со студенческими работами здесь
20
Перехват вывода консольного приложения (сложный вариант вывода приложением информации на консоль) консоль UART и нестандартная скорость Нет вывода в консоль Кодировка вывода в консоль Ошибка вывода на консоль Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|