Есть ли разница в производительности между использованием 20 банок и их перепаковкой? - PullRequest
5 голосов
/ 03 августа 2010

Моя программа использует около 20 банок (для общего размера около 30 МБ). На данный момент все они добавлены в путь к классам для выпущенной версии, и все файлы jar развернуты вместе с остальными.

Повлияет ли это на производительность, если я распакую их и упакую в одну банку ?

Ответы [ 2 ]

3 голосов
/ 03 августа 2010

Нет, но не было бы и никаких преимуществ.

Лично я думаю, что вам следует развернуть те же самые банки, на которых вы разрабатываете, если у вас нет веских причин не делать этого.Переупаковка может привести к тонким проблемам, если оригинальные банки были запечатаны, но для опытной команды, которая любит случайные испытания, они легко решаются.

2 голосов
/ 03 августа 2010

Наиболее очевидное влияние - это количество открытых дескрипторов файлов, что иногда является проблемой для Linux. Хотя если проблема заключается в отсутствии файловых дескрипторов, количество jar-файлов вряд ли является проблемой.

Насколько я понимаю, индексный файл поддерживает постоянное время, чтобы что-то найти в банке.

Распаковка их всех в каталоги (или в один каталог) может дать вам небольшой импульс. Это будет недолгим, однако, как только класс окажется в постоянном пространстве, это все, что нужно. Это дало бы долгосрочное преимущество для любых файлов, не относящихся к классу, которые вы можете прочитать из пути к классам с помощью вызовов getResource ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...