All streams
Search
Write a publication
Pull to refresh
112
0
Дмитрий Думанский @doom369

Гребец и на дуде игрец

Send message
В статье есть ссылка. Самая первая. Я думаю лучше будет по ней прочитать, чем читать из 3-х рук.
По флагу UseStringCache я нашел только это, строка 3009
По первому пункту — абсолютно согласен, я и нигде не говорил, что оптимизацию делает EscapeAnalysis.

По второму — спасибо за замечание, подправил. Я не правильно понял термин Scalar replacement.
Да, все верно. На разного рода тестах при переходе на сжатые указатели прирост работы JVM составляет 2-10%.
Ну, есть коллекции, доступ к элементам которых по индексу получить нельзя. И если в Ваш метод может прийти одна из таких коллекций на ряду с индексными, то как написать универсальный метод без итератора?
Что не так?

Так как речь о java, то Ваши «структуры» воспринимаются исключительно как объекты. А объекты могут быть созданы на стеке (не посредством языка, а виртуальной машиной).
Да, включен по умолчанию. Но его можно выключить. Еще — чем больше стек вызовов, переменных в каждом из методов тем меньше памяти остается. Что сводит вероятность создания на стеке к весьма малому числу.

>>не могу понять что тут хотят сказать в последнем предложении.

Наверное опечатка, думаю имелось в виду, что объекты, которые выходят за область видимости метода не создаются на стеке.
Да. Но согласитесь, утверждение
В Java нет структур, которые можно было бы хранить в стеке…

Не совсем правдивое.
Вполне нормальная ситуация, если присутствует сложная иерархия. Я специально описал действие метода, чтобы можно было понять откуда это.
Да, Вы права. Но это случается не часто. Полагаться на это не стоит.
Во-первых, escape analysis не всегда возможен в виду ограниченности стека.
Во-вторых, escape analysis может быть банально отключен.
На самом деле это ожидаемое поведение. Для коллекций свой for, для массивов свой. Ведь возможна ситуация когда на вызов метода iterator() возможна некая логика…
Молодцы, мужики! Рад за вас!
Вот пример из жизни — habrahabr.ru/post/147552/ о котором я недавно писал. В этом случае коротко живущие объекты не только влияли на производительность, но и приводили к постоянному срабатыванию сборщика что просто вешало машину. Я уже не говорю про десятки таких мест в высоконагруженных системах.
Хм… Почему сразу на Марс, а не на Луну? Вроде как попроще и гораздо реальней.
Кста, в долине есть ребята, которые принципиально отказываются работать в команде с индусами… Вот так вот.
Что за проект? Стек технологий?
Либа — супер, как раз искал нечто подобное для своего проекта.
По Украине есть тут

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity