Если gc перемещает куски памяти, значит указатели на память имеют двойную природу -- база+смещение. При перемещении меняется база. Если природа двойная, то при каждом обращении к объекту будут складываться база и смещение, чтобы вычислить реальный адрес в виртульной памяти. Поэтому java всегда будет в 2 раза медленне, чем С++ или Delphi, где обращение к виртульной памяти прямое.
24:23 Игра членами на конференции программистов
"99% оптимизаций - это исправление тупейших ошибок"
можно было и не смотреть. просто этот коммент прочитать
Если gc перемещает куски памяти, значит указатели на память имеют двойную природу -- база+смещение. При перемещении меняется база. Если природа двойная, то при каждом обращении к объекту будут складываться база и смещение, чтобы вычислить реальный адрес в виртульной памяти. Поэтому java всегда будет в 2 раза медленне, чем С++ или Delphi, где обращение к виртульной памяти прямое.
нет, они также работают с виртуальной памятью которая им выделила система. И вам прям в докладе сказали про попугаев, нужно знать что измерять