Я пытаюсь обрабатывать файлы по одному, которые хранятся в сети. Чтение файлов происходит быстро из-за буферизации, это не проблема. Проблема, которую я имею, - это просто перечисление каталогов в папке. У меня есть по меньшей мере 10 тыс. Файлов в папке по многим папкам.
Производительность супер медленна, так как File.list() возвращает массив вместо итерабельного. Java уходит и собирает все имена в папке и отправляет их в массив перед возвратом.
Запись об ошибке для этого http://bugs.sun.com/view_bug.do;jsessionid=db7fcf25bcce13541c4289edeb4?bug_id=4285834 и не работает. Они просто говорят, что это исправлено для JDK7.
Несколько вопросов:
- Есть ли у кого-нибудь проблемы с этим узким местом производительности?
- Я пытаюсь добиться невозможного? Является ли производительность еще плохой, даже если она просто выполняет итерации по каталогам?
- Могу ли я использовать бета-версии JDK7, которые имеют эту функциональность, без необходимости создавать на ней весь проект?