Сообщение Re[4]: java.nio.file.Files.copy кушает процессорное время от 21.01.2015 23:40
Изменено 22.01.2015 10:04 vpchelko
Здравствуйте, 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
Возможно то что надо:
_>Попробовал делать 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.
Re[4]: java.nio.file.Files.copy кушает процессорное время
Здравствуйте, 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
Возможно то что надо:
_>Попробовал делать 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.