Нужно ли нам вручную создавать деструктор для связанного списка?
я читаюИзучение Rust с использованием слишком большого количества связанных списков и я запутался, почему связанный список (стек)нужен деструктор.
Я думаю, что когда значение списка находится вне области видимости, сам список и все узлы будут очищены. Это только для демонстрации?
Я пытаюсь сравнить версию с ручным деструктором и без него, и обнаружил, что версия без деструктора имеет лучшую производительность:
for _ in 1..30000000 {
let mut list = List::new();
list.push(1);
assert_eq!(list.pop(), Some(1));
}
С ручным деструктором:
real 0m11.216s
user 0m11.192s
sys 0m 0.020s
Без ручного деструктора:
real 0m9.071s
user 0m9.044s
sys 0m0.004s