Size: a a a

2020 April 05

AZ

Alex Zhukovsky in rust_offtopic
у тебя есть размер объекта
источник

AZ

Alex Zhukovsky in rust_offtopic
и ты идешь по списку и у каждого блока спрашиваешь "в тебя влезет? Нет? Пойду искать дальше"
источник

AZ

Alex Zhukovsky in rust_offtopic
как можно догадаться, ходить по связным спискам на каждый чих дороговато
источник

p

polunin.ai in rust_offtopic
А что дорого в переходе по указателю?
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
@DogeShibu может знаешь, какие есть ресурсы шобы поизучать с# и асп? сейчас смотрю доки майкрософта, нихуя нормально не объясняют. просто дают код и говорят запускайте.
under the hood of .net memory management
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
А что дорого в переходе по указателю?
смотри, если у тебя память вся хорошая, то у тебя идет "занято-свободно". Всё. дырок нет
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
under the hood of .net memory management
Мне по асп а не менеджмент памяти) ну я уже две штуки нашел
источник

AZ

Alex Zhukovsky in rust_offtopic
тогда

fn alloc_block(size: usize) -> Block {
   let offset = self.offset;
   self.offset += size;
   Block(offset, size)
}
источник

AZ

Alex Zhukovsky in rust_offtopic
теперь вариант без гц, когда у тебя память с дырками
источник

p

polunin.ai in rust_offtopic
Ну
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
теперь вариант без гц, когда у тебя память с дырками
Эм, я с гц не могу удалить ссылки на объект в середине кучи?
источник

p

polunin.ai in rust_offtopic
Чтобы там появилась дырка
источник

AZ

Alex Zhukovsky in rust_offtopic
fn alloc_block(size: usize) -> Block {
   for block in self.blocks {
       if block.size >= size {
           return Block(block)
       }
   }
   panic!("Couldn't alloc block");
}
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
Чтобы там появилась дырка
можешь, в следующей сборке мусора дырку зафиксят
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
можешь, в следующей сборке мусора дырку зафиксят
Как?
источник

AZ

Alex Zhukovsky in rust_offtopic
а гц просто продолжит аллоцировать в конце
источник

p

polunin.ai in rust_offtopic
Сдвинут кучу?
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
Как?
вот так
источник

AZ

Alex Zhukovsky in rust_offtopic
там даже хинт про который мы говорим написан
источник

p

polunin.ai in rust_offtopic
Мне кажется сдвигать всю кучу выйдет затратное чем пройтись по указателям пару раз
источник