Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > NIO |
Автор: Tony 21.11.2006, 01:10 | ||||
Использовал постаянно NIO. Ну вродибы класс. Высокая производительность, новая технологоя и сантехники рекомендуйют ну каро4е 4ики - пики. Так я любитель поэкперементировать. 4то будет если скопировать файл размером в 1.5 Гига ,стандартным методом: ![]()
Так вот на 20 секунде компик завис ![]() ![]()
У кого какие соображения? При4ём компик Athlon 64 3500+ и 1GB DDR 800. Вот такие дела. |
Автор: Goliath 21.11.2006, 01:46 |
Комп зависает или приложение? |
Автор: Tony 21.11.2006, 02:23 |
комп |
Автор: Tony 21.11.2006, 17:30 | ||
1.zip = 1.578.939 KB .Как видно результат НИО не очень впе4атлителен. |
Автор: LSD 21.11.2006, 18:55 |
Каков размер файла подкачки, и какая стоит ОС и JVM (32-х разрядная или 64-х разрядная)? |
Автор: Tony 21.11.2006, 20:16 |
WinXP 32, client jvm. 1536 мб файл подкачки. |
Автор: LSD 21.11.2006, 22:29 |
Думаю что в этом то и проблема, по стеку видно что он пытается замапить файл на память (memory-mapped file). И ему элементарно нехватает адресного пространства (у пользовательского процесса под 32-х битной виндой адресное пространство 2Гб). Было бы интерестно посмотреть как этот код будет работать под 64-х битной виндой и 64-х битной JVM. |
Автор: Tony 22.11.2006, 13:31 |
Прсто если ползоватеь будет копировать моей программой испoльзующий transferTo метод, файил размером 1ГБ ,то я услышу "хорошие" отзывы от него. |
Автор: LSD 22.11.2006, 18:42 | ||
Сделай так:
|
Автор: Tony 22.11.2006, 22:03 | ||
Тоже самое 4то и
|
Автор: LSD 22.11.2006, 23:54 |
Таки в чем проблема? У меня копирование с помощью NIO быстрее на 20-40 процентов. |
Автор: Tony 22.11.2006, 23:58 |
Просто запостил тему 4тобы люди были осторожными при копирование больших файлов через TransferTo и TransferFrom. |
Автор: LSD 23.11.2006, 00:01 |
А.... Учтем ![]() |