java - повторять коллекцию и вызывать метод для каждой итерации или передавать коллекцию методу и повторять ее - PullRequest
0 голосов
/ 15 мая 2018

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

Я хочу понять, если яобновите метод, чтобы получить саму коллекцию, а затем выполните итерации внутри метода и выполните обработку, какую бы разницу в производительности она имела бы.Как я понимаю в первом подходе, для каждой итерации были бы накладные расходы на вызовы методов, которые создавали бы и уничтожали блок в стеке памяти.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

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

0 голосов
/ 15 мая 2018

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

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