Dr. Friedrich
Кстати, чо я придумал
Dr. Friedrich
Давайте сделаем интрузивные списки на структурах и поинтерах, а?
Vasily
Зойчем?
Dr. Friedrich
Зойчем?
Нужна ещё какая-то причина, кроме «потому что мы можем»?
Roman
во славу сатаны перформанса
Vasily
Кстати, как у нас работает Seq.cache?
Dr. Friedrich
бизнесс валуё?
Ну так уж и быть, положу туда поинтер, а рядом business value
Vasily
seq
Hog
seq
ты спросил про кеш
Dr. Friedrich
struct Item { void* ptr; int business_value; } 32 бит вашему бизнесу хватит, поди?
Vladislav
Кстати, как у нас работает Seq.cache?
я думаю просто возвращает материализованный скастованый List
Hog
кеш просто заитерирует всё, сложит в себя, и наружу отдаст этот сек по кишкам
Dr. Friedrich
Оно же лениво заполняет кэш
Vasily
В целом, меня это должно устроить
Roman
Vasily
Я придумал ебаную магию с анфолдом и ленивой загрузкой
Диёр
наш business_value это interface{}
Диёр
Dr. Friedrich
наш business_value это interface{}
Лицо вашего бизнеса
Roman
@fvnever то есть ты против любых функциональных структур данных? Или есть исключения?
Hog
Я придумал ебаную магию с анфолдом и ленивой загрузкой
https://github.com/fsharp/fsharp/blob/master/src/fsharp/FSharp.Core/seq.fs#L964
Dr. Friedrich
Но я за хорошие
Диёр
а хорошие это те, которые тебе нравятся?
Dr. Friedrich
Да!
Roman
Только против тех, которые плохие
ок, а Set & Map хорошие? из стандартной библиотеки
Dr. Friedrich
ок, а Set & Map хорошие? из стандартной библиотеки
Ну во всяком случае не настолько дефективные, как списки.
Roman
Ну во всяком случае не настолько дефективные, как списки.
списки дефективные на уровне идеи или имплементации?
Dr. Friedrich
Я тебе же пример привёл
Dr. Friedrich
Делаешь интрузивный список, например
Dr. Friedrich
И у тебя всё нармас
Dr. Friedrich
Ну если сделаешь
Roman
пойду почитаю про интрузивные списки
Roman
Да.
но там или или вопрос
Dr. Friedrich
Ayrat
Кстати, как у нас работает Seq.cache?
Складывает в ресайз Эррей
Dr. Friedrich
пойду почитаю про интрузивные списки
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0406r1.html
Roman
спс
Dr. Friedrich
Ну они только cache locality тебе помогут победить
Dr. Friedrich
Зато в дотнете у них будет посос по всем остальным параметрам :)
Roman
ок, а если тебе нужен иммутабельный лист, то шо делать?
Dr. Friedrich
Кажись, безопасно такой список можно собрать из ref struct
Dr. Friedrich
ок, а если тебе нужен иммутабельный лист, то шо делать?
А зачем тебе нужен иммутабельный лист?
Dr. Friedrich
Поднимите руки, кому тут был нужен иммутабельный лист, и их не устраивал иммутабельный массив.
Roman
чтоб всякие там в него не насрали.
Roman
иммутабельный массив?
Ayrat
Я листы в фшарпе использую потому что они приятные синтаксисом и паттерн матчингом
Dr. Friedrich
чтоб всякие там в него не насрали.
Для этого есть огромное количество ридонли интерфейсов для хороших структур данных.
Ayrat
Я знаю про перформанс, но там где списки ничего перф критикал нет.
Dr. Friedrich
Я листы в фшарпе использую потому что они приятные синтаксисом и паттерн матчингом
Ну вот если тебе много надо паттерн матчить лист, откусывая ему голову — это какой-никакой аргумент уже, да.
Roman
джентельменам верят на слово
Dr. Friedrich
Ну вот если тебе много надо паттерн матчить лист, откусывая ему голову — это какой-никакой аргумент уже, да.
Ну то есть на таком уровне можно хотя бы обсудить, не откусывая голову тебе.
Doge
Поднимите руки, кому тут был нужен иммутабельный лист, и их не устраивал иммутабельный массив.
Иммутабельный массив не персистентный, увы. Так что любые правки - это пересоздание всей структуры.
Dr. Friedrich
Иммутабельный массив не персистентный, увы. Так что любые правки - это пересоздание всей структуры.
Поэтому наш господь Иисус Христос нам принёс персистентный вектор!
Doge
Поэтому наш господь Иисус Христос нам принёс персистентный вектор!
Да, против вектора ничего не имею. (Кроме большого оверхеда для совсем мелких векторов)
Dr. Friedrich
И не создай себе кумира кроме персистентного вектора
Dr. Friedrich
повторяешься :)
Если мне дважды задают один и тот же вопрос — я даю один и тот же ответ.
Dr. Friedrich
Моя персистентность такова!
Dr. Friedrich
Константин?
Джон Константин?
Диёр
Джон Константин?
Персистентность?
Dr. Friedrich
Я запутался. Какой вопрос я должен задать в ответ?
Диёр
В ответ?
Dr. Friedrich
Спасибо?
Диёр
Монады?
Dr. Friedrich
Гонады!
Диёр
go panic("kek")
Dr. Friedrich
go nady()
Диёр
ъУууъ