Size: a a a

2019 December 10

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
Итак шутка дня: COW не жертвует память
источник

NS

Nick Shevrov in JSNN 🤔 (GSNN)
Ладно, я тогда не понимаю, что мы обсуждаем
источник

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
источник

NS

Nick Shevrov in JSNN 🤔 (GSNN)
По сравнению с чем жертвует? По сравнению с refference семантикой, когда ссылка шарится и копирований вообще нет — ок. По сравнению с копированием при условном вызове конструктора — нет.
источник

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
Новая техника работы с коллекциями и строками - “неприменное копирование”
источник

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
Ах, уже отредактировано
источник

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
источник

NS

Nick Shevrov in JSNN 🤔 (GSNN)
Я так и не понял, что ты хотел сказать, о каких абстрактных коллекциях ты говоришь тоже непонятно
источник

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
Тебе не надо понимать, сохраняй свой авторский взгляд на программирование и почаще им делись в этом чате.
источник

NS

Nick Shevrov in JSNN 🤔 (GSNN)
Спасибо за признание
источник

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
источник

NS

Nick Shevrov in JSNN 🤔 (GSNN)
До 7ой Джавы там так же было с Substring и так же текло по памяти, кстати
источник

NS

Nick Shevrov in JSNN 🤔 (GSNN)
Мораль — писать на языках без GC
источник

PM

Pavel 🦇 Malyshev in JSNN 🤔 (GSNN)
🍿
источник

ОХ

Олег Хлевнов in JSNN 🤔 (GSNN)
Мне все-таки интересно мнение. Есть коллекции. Мы можем каждый раз пользоваться ссылками, оверхеда -- ноль, тут все понятно. Меняем везде один и тот же экземпляр

Допустим у нас есть условие, что в зависимости от чего-то мы хотим поменять какие-то элементы коллекции.
Если копировать коллекцию явно, чтобы не менять исходную -- мы теряем в памяти и во времени, если условие не будет выполнено.

Тогда мы можем копировать их только при изменении, используя copy-on-write. Это позволит нам с одной стороны избавиться от копирования когда не нужно, с другой -- использовать новую коллекцию, которая не зависит от старой.

Или я неправильно где-то в этой цепочке рассуждаю?)
источник

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
Ты придумал какую-то мифическую технику “копирования ради чтения” которая настолько неэффективна, что в реальности нигде не используется.
источник

SS

Sergey Smyshlyaev in JSNN 🤔 (GSNN)
И к изначальному обосрамсу с определениями от товарища Ника эти фантазии не имеют никакого отношения
источник

ОХ

Олег Хлевнов in JSNN 🤔 (GSNN)
"Идея подхода copy-on-write заключается в том, что при чтении области данных используется общая копия, в случае изменения данных — создается новая копия."
источник

ОХ

Олег Хлевнов in JSNN 🤔 (GSNN)
Прекрасная техника же, и например форк -- отличный для нее пример
источник

NS

Nick Shevrov in JSNN 🤔 (GSNN)
Sergey Smyshlyaev
И к изначальному обосрамсу с определениями от товарища Ника эти фантазии не имеют никакого отношения
Давай попробуем еще раз. Я утверждал, что реализация Substring в V8 выполнена с использованием COW семантики. Правильно я понимаю, что ты не согласен с этим?
источник