Сообщение Re[47]: gc vs умелые руки от 15.10.2016 13:15
Изменено 15.10.2016 13:18 Evgeny.Panasyuk
Здравствуйте, ·, Вы писали:
EP>>·>Собственно прибавление указателя это и есть способ аллокации в java.
EP>>И ты конечно же понимаешь что это полуправда. Вот только непонятно на кого рассчитанная
EP>>Ибо в данном варианте деалокация практически бесплатная, а в случае GC сборка муссора неимоверно дорогая
·>Сборка мусора она разная бывает. Тут уже упоминали поколения. Сборка молодого поколения практически бесплатна.
Ты видимо не понимаешь что означает "практически бесплатная" деалокация в случае регионов — там за одну простейшую/примитивнейшею O(1) операцию убивается сразу N аллокаций. Никакого обхода живых объектов, никаких отслеживаний изменений старых поколений и прочих page faults.
В этой свете высказывание "·>Сборка молодого поколения практически бесплатна" — это
·>А ещё есть два региона survival space, который например с fragmentation борется.
·>В общем, посоветую тебе почитать подробности про устройство современного gc (разных видов) — увидишь много чего похожего с теми "секретными ингридиентами" в управлении C++ памятью, и уверен что откроешь себе ещё пару интересных идей.
Я читал про устройство самых разных GC, в том числе статьи упомянутых Azul, и даже сам реализовывал копирующий GC. Нет там нигде и близко практически "практически бесплатной" сборки
EP>>·>Собственно прибавление указателя это и есть способ аллокации в java.
EP>>И ты конечно же понимаешь что это полуправда. Вот только непонятно на кого рассчитанная
EP>>Ибо в данном варианте деалокация практически бесплатная, а в случае GC сборка муссора неимоверно дорогая
·>Сборка мусора она разная бывает. Тут уже упоминали поколения. Сборка молодого поколения практически бесплатна.
Ты видимо не понимаешь что означает "практически бесплатная" деалокация в случае регионов — там за одну простейшую/примитивнейшею O(1) операцию убивается сразу N аллокаций. Никакого обхода живых объектов, никаких отслеживаний изменений старых поколений и прочих page faults.
В этой свете высказывание "·>Сборка молодого поколения практически бесплатна" — это
·>А ещё есть два региона survival space, который например с fragmentation борется.
·>В общем, посоветую тебе почитать подробности про устройство современного gc (разных видов) — увидишь много чего похожего с теми "секретными ингридиентами" в управлении C++ памятью, и уверен что откроешь себе ещё пару интересных идей.
Я читал про устройство самых разных GC, в том числе статьи упомянутых Azul, и даже сам реализовывал копирующий GC. Нет там нигде и близко практически "практически бесплатной" сборки
Здравствуйте, ·, Вы писали:
EP>>·>Собственно прибавление указателя это и есть способ аллокации в java.
EP>>И ты конечно же понимаешь что это полуправда. Вот только непонятно на кого рассчитанная
EP>>Ибо в данном варианте деалокация практически бесплатная, а в случае GC сборка муссора неимоверно дорогая
·>Сборка мусора она разная бывает. Тут уже упоминали поколения. Сборка молодого поколения практически бесплатна.
Ты видимо не понимаешь что означает "практически бесплатная" деалокация в случае регионов — там за одну простейшую/примитивнейшею O(1) операцию убивается сразу N аллокаций. Никакого обхода живых объектов, никаких отслеживаний изменений старых поколений и прочих page faults.
В этом свете высказывание "·>Сборка молодого поколения практически бесплатна" — это
·>А ещё есть два региона survival space, который например с fragmentation борется.
·>В общем, посоветую тебе почитать подробности про устройство современного gc (разных видов) — увидишь много чего похожего с теми "секретными ингридиентами" в управлении C++ памятью, и уверен что откроешь себе ещё пару интересных идей.
Я читал про устройство самых разных GC, в том числе статьи упомянутых Azul, и даже сам реализовывал копирующий GC. Нет там нигде и близко практически "практически бесплатной" сборки
EP>>·>Собственно прибавление указателя это и есть способ аллокации в java.
EP>>И ты конечно же понимаешь что это полуправда. Вот только непонятно на кого рассчитанная
EP>>Ибо в данном варианте деалокация практически бесплатная, а в случае GC сборка муссора неимоверно дорогая
·>Сборка мусора она разная бывает. Тут уже упоминали поколения. Сборка молодого поколения практически бесплатна.
Ты видимо не понимаешь что означает "практически бесплатная" деалокация в случае регионов — там за одну простейшую/примитивнейшею O(1) операцию убивается сразу N аллокаций. Никакого обхода живых объектов, никаких отслеживаний изменений старых поколений и прочих page faults.
В этом свете высказывание "·>Сборка молодого поколения практически бесплатна" — это
·>А ещё есть два региона survival space, который например с fragmentation борется.
·>В общем, посоветую тебе почитать подробности про устройство современного gc (разных видов) — увидишь много чего похожего с теми "секретными ингридиентами" в управлении C++ памятью, и уверен что откроешь себе ещё пару интересных идей.
Я читал про устройство самых разных GC, в том числе статьи упомянутых Azul, и даже сам реализовывал копирующий GC. Нет там нигде и близко практически "практически бесплатной" сборки