Каков эффект SYSO - System.out.println()
? Если мой компьютер выполняет большую работу, такую как извлечение 2 лакхов (приблизительно 2 000 000) записей из базы данных в файл, влияет ли SYSO на время выполнения?
Каков эффект SYSO (System.out.println())?
Ответы (2)
Конечно влияет. Каждая операция имеет свою цену. Запись в систему является вводом-выводом и требует значительных затрат. Чтобы узнать точное влияние на вашу программу, нет другого решения, кроме сравнительного анализа: запустите программу с вызовами println и без них и измерьте время, необходимое для обеих версий, или используйте профилировщик.
Вы должны использовать структуру ведения журнала (такую как slf4j, log4j или java util logging), которая допускала бы различные виды выходных данных (sysout, файл и т. д.), а также позволяла бы деактивировать журнал вывода, просто изменив какое-либо свойство в файл конфигурации.
Влияние на производительность очень сильно зависит от того, насколько быстро получатель (обычно консоль или файловая система) может читать из потока и насколько велик буфер. Например, когда вы действительно смотрите на консоль, когда программа печатает, это обычно делает ее очень медленной, но когда вы сворачиваете окно консоли, это происходит быстрее.