Size: a a a

Rust — русскоговорящее сообщество

2021 June 19

goldstein опять in Rust — русскоговорящее сообщество
Обоснуй каким образом нет
Любая другая реализация потребует копировать на каждую такую операцию
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
на практике скопировать весь массив чтобы вставить элемент дешевле чем работать с линкедлистом. Почти всегда
источник

goldstein опять in Rust — русскоговорящее сообщество
Каким образом у тебя кешмисс дороже, чем послать весь кеш нафиг записью в весь массив целиком?
источник

B

Börgar in Rust — русскоговорящее сообщество
надо ноду сначала найти, в листе искать ноду сильно дороже, чем в векторе
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
посмотри бенчи. Так и выходит. Если не каждая операция инсерт офк а есть хотя бы немного чтений
источник

goldstein опять in Rust — русскоговорящее сообщество
Не настолько дороже, насколько копировать всю память на каждую операцию.
источник

goldstein опять in Rust — русскоговорящее сообщество
Покажи бенчи
источник

goldstein опять in Rust — русскоговорящее сообщество
Задача звучит как "найти паттерн в списке, заменить на другой". Это дофига , копирования
источник

B

Börgar in Rust — русскоговорящее сообщество
да, тк это простой memcpy на уже закешированой памяти
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
https://dzone.com/articles/performance-of-array-vs-linked-list-on-modern-comp ну вот первая ссылка в гугле вроде по теме
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
мемкпи это дешево если что
источник

goldstein опять in Rust — русскоговорящее сообщество
У меня не прогружаются картинки
источник

goldstein опять in Rust — русскоговорящее сообщество
Зависит от размера массива. Тебе кто-то сказал, что это не гигабайт, лол?
источник

goldstein опять in Rust — русскоговорящее сообщество
При этом идти по массиву с самого начала каждый раз для этой задачи не требуется
источник

goldstein опять in Rust — русскоговорящее сообщество
Тут мало итерации и много модификаций
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
а ещё может у нас чтений 99% тогда и гигабайт лучше массивом делать. А ещё у нас мб лимит памяти в гигабайт, тогда линкедлист не влезет. И т.п.

Додумыватьу словия и я могу)

Практика говорит о том, что я линкедлист на практике за 10 лет не использовал не разу: и не потому шо я долбоеб, а пушто бенчи показывали что на ВСЕХ кейсах что я его юзал (а там и гигабайтные структуры были) лист сосёт
источник

goldstein опять in Rust — русскоговорящее сообщество
Нет, у нас нет чтений 99%, ты задачу читал?
источник

goldstein опять in Rust — русскоговорящее сообщество
Нужно искать последовательности чисел и заменять их на другие
источник

goldstein опять in Rust — русскоговорящее сообщество
Тут достаточно ~одного прохода (с возвращением на фиксированное количество клеток назад после модификации)
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
структура данных где надо писать но никогда не читать? Не, такого я не слышал)
Я скорее верю что у нас не вся постановка
источник