Не уверен что это оффтоп, так что может кто-то объяснит

о каком подсчете ссылок они разговаривают?

8 ответов

2 просмотра

Rc = Ref Count, счётчик ссылок, дропающий под собой ресурс, когда кол-во стронг ссылок = 0 Аналог shared_ptr из с++

Артем- Автор вопроса
mental stability🥺✨
Rc = Ref Count, счётчик ссылок, дропающий под собо...

А, понял. А цикл это подсчет count-еров))) Забавные челики

Артем- Автор вопроса

Ну типа если что-то что-то считает, то это плохо. Вот у нас семафор считает под капотом сколько потоков к нему обратились. А в цикле мы считаем что-то тоже, видимо это тоже плохо. Крч спекулирую на тему GC, в разрезе Раста, так как подсчет ссылок и GC, который считает граф связей (обычно) разные вещи. Так как в Расте не может существовать висящей ссылки.

Мы ничего не считаем, просто инкрементируем счетчик. Не сильно накладное занятие, особенно если это не Arc (частые атомик операции всё же могут ударить по производительности) Дроп вызывается у Rc только тогда, когда он выходит из скоупа (как и у других структур). Так что проверка счетчика на 0 не так часта, как может показаться Для цикла, скорее всего, нужны слабые ссылки, чтобы ничего не зациклилось, иначе счетчик никогда не будет равен 0, а следовательно будет висеть память. Но в расте утечки - мемсейф, а потому и сейф. Так что да, есть сейфовый код, который позволить утечь памяти Rc - инструмент, его не обязательно использовать. Если нужно - пожалуйста. Но как и любой инструмент у него есть и плюсы, и минусы

Артем
Ну типа если что-то что-то считает, то это плохо. ...

> Так как в Расте не может существовать висящей ссылки. Замкнутые сами на себя структуры данных и поехали )

Артем- Автор вопроса
mental stability🥺✨
Мы ничего не считаем, просто инкрементируем счетчи...

Ну утечки правда сейф в Расте, но обычно добиться утечки можно именно кривым кодом (как и везде, да). Т.е. это не то что инструменты std гарантируют утечки, скорее наоборот.

Артем
Ну утечки правда сейф в Расте, но обычно добиться ...

Не сказал бы, что кривым. Плохо не утечка, плохо, когда ты не знаешь о ней, а она растёт Box::leak, Vec::leak это не так плохо и может даже полезно (не знаю правда зачем)

Похожие вопросы

Обсуждают сегодня

Подскажите где можно прочитать про реализацию возможности писать человеку при подписке на телеграм канал от имени бота? Было бы не плохо если для Telegraf@3.38.0
Pan Lipton
10
а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
салют мужики, как я могу менеджмить юзеров в канале с помощью тг бота? Мне нужно уметь ботом получать список юзеров в канале и удалять их, как я могу это сделать ? ( gram, tel...
Kokni
1
Мне вот что интересно, кто на рфе стартовал/играл, что вы фармили, в каком виде контента он прямо хорош? Экспедиция? Вроде прямо на замазанных мапах рф сдувается
Владислав
20
Кто нибудь поясните это всё таки вброс или да? Про санктум слышал на поедб вбросили, а по дурке откуда инфа и на сколько это вообще правда? Пахнет шизофренией какой-то ✅Divi...
Dmitry Ritter
9
У вас бывает ощущение, что хочется потратить весь отпуск на то, чтоб только спать?
Николай
15
Как можно настроить фильтр в пое под себя?
Yarik yarik kyda ti lezesh
15
Ребят, есть какие нибудь мили билды, способные в шмотках с пола закрывать атлас?
Ninja Obormot
12
У меня вопрос к знающими, стоит ли вступать в гильдии в игре или лучше полная свобода?
Енот Полоскун
17
а у бот саппорта нет очереди никакой? типа, если не прочитали сообщение, то лучше спустя время новое отправить?
Андрей
1
Карта сайта