Re[4]: java.nio.file.Files.copy кушает процессорное время
От: vpchelko  
Дата: 21.01.15 23:40
Оценка:
Здравствуйте, sergey123_1, Вы писали:

_>Попробовал делать Bufferred и для in и для out разными способами, либо потребляется ещё больше cpu, либо столько же, сколько и Files.copy


Это да, проверил — java или ОCь (windows 7) сама оптимизирует запись на диск (файл растет большими кусками по 10-50 мегабайт за раз). Хотя у меня CPU практически не жрет (больше 1% в диспетчере задач не показывает).

П.с. хотя тот же curl стабильно 0% показывает. Издержки JVM тут ничего не поделаешь.

П.п.с https://bugs.openjdk.java.net/browse/JDK-8069327
========================================================

Хороший совет дают на стек оверфлове:

http://stackoverflow.com/questions/921262/how-to-download-and-save-a-file-from-internet-using-java

Возможно то что надо:

Using transferFrom() is potentially much more efficient than a simple loop that reads from the source channel and writes to this channel. Many operating systems can transfer bytes directly from the source channel into the filesystem cache without actually copying them.

Сало Украине, Героям Сала
Отредактировано 22.01.2015 10:04 vpchelko . Предыдущая версия . Еще …
Отредактировано 22.01.2015 0:32 vpchelko . Предыдущая версия .
Отредактировано 22.01.2015 0:04 vpchelko . Предыдущая версия .
Отредактировано 22.01.2015 0:03 vpchelko . Предыдущая версия .
Отредактировано 21.01.2015 23:57 vpchelko . Предыдущая версия .
Отредактировано 21.01.2015 23:56 vpchelko . Предыдущая версия .
Отредактировано 21.01.2015 23:48 vpchelko . Предыдущая версия .
Отредактировано 21.01.2015 23:48 vpchelko . Предыдущая версия .
Отредактировано 21.01.2015 23:47 vpchelko . Предыдущая версия .
Отредактировано 21.01.2015 23:41 vpchelko . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.