Re[3]: Про умные указатели а лучше сборщик мусора...
От: B0FEE664  
Дата: 09.01.23 11:28
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот мой вопрос как раз в том — возможно или это принципиально.

В общем случае сборщик мусора для С++ невозможен. В частном случае, когда используются только умные указатели, сборщик мусора для них может быть написан.

И вообще, Shmj, при использовании Qt и других подобных библиотек задача сборщика мусора не возникает и будет ему противоречить.
И каждый день — без права на ошибку...
Re[4]: Про умные указатели а лучше сборщик мусора...
От: Shmj Ниоткуда  
Дата: 09.01.23 11:52
Оценка:
Здравствуйте, B0FEE664, Вы писали:

S>>Вот мой вопрос как раз в том — возможно или это принципиально.

BFE>В общем случае сборщик мусора для С++ невозможен. В частном случае, когда используются только умные указатели, сборщик мусора для них может быть написан.

Вопрос выше конктретно об умных указателях, просьба читать внимательнее:

не изменяя рантайм и компилятор — внедрить такой умный указатель с полноценным GC


Не думаю что это возможно в принципе, иначе бы уже написали.

BFE>И вообще, Shmj, при использовании Qt и других подобных библиотек задача сборщика мусора не возникает и будет ему противоречить.


С чего бы?
Re[5]: Про умные указатели а лучше сборщик мусора...
От: B0FEE664  
Дата: 09.01.23 13:31
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Не думаю что это возможно в принципе, иначе бы уже написали.

Aquilaware уже написал.

BFE>>И вообще, Shmj, при использовании Qt и других подобных библиотек задача сборщика мусора не возникает и будет ему противоречить.

S>С чего бы?
С того, что Qt хранит внутри себя указатели, а не смарт-указатели и вызывает delete для объектов, когда считает нужным. Это означает, что сборщик мусора не будет совместим с Qt, так как Qt ничего не знает про сторонний сборщик мусора.
И каждый день — без права на ошибку...
Re[6]: Про умные указатели а лучше сборщик мусора...
От: Shmj Ниоткуда  
Дата: 09.01.23 13:45
Оценка: :)
Здравствуйте, B0FEE664, Вы писали:

S>>Не думаю что это возможно в принципе, иначе бы уже написали.

BFE>Aquilaware уже написал.

Ага. А Ферма доказал Великую Теорему

Пока не увижу — не поверю.

BFE>>>И вообще, Shmj, при использовании Qt и других подобных библиотек задача сборщика мусора не возникает и будет ему противоречить.

S>>С чего бы?
BFE>С того, что Qt хранит внутри себя указатели, а не смарт-указатели и вызывает delete для объектов, когда считает нужным. Это означает, что сборщик мусора не будет совместим с Qt, так как Qt ничего не знает про сторонний сборщик мусора.

Что мешает из QT использовать не QT-объекты и применять любой удобный для вас способ управления памятью
Re[7]: Про умные указатели а лучше сборщик мусора...
От: Aquilaware  
Дата: 09.01.23 14:01
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Что-то не верится что все так просто — неужели ваше решение лучшее в мире и может из С++ сделать что-то даже лучше Rust-a? Наверное просто что-то не учли и оно не всегда работает.


Оно не лучшее. Недостаток я уже описывал — церемония с передачей владельца помимо указателя в GCPtr<T>. Но если это делать более профессионально для широкого круга пользователей, то, наверное, можно было бы придумать какой-то автомат, который сам бы понимал в каком блоке-владельце выделенном GC лежит или не лежит конкретный GCPtr<T>. Например, это можно сделать если все GC блоки и обьекты выделять из специального пула памяти о котором нам всё известно — начало каждого выделенного блока и его длина, но это подразумевает создание спец. allocator'a памяти с отдельным оператором выделения памяти gc_new.

Возможно что-то не было учтено и в других сценариях использования начали вскрываться бы просчеты. Именно поэтому я и не стал делать публикацию тогда. Но то, что это по своему новаторское и оригинальное решение — я осознаю сейчас еще лучше. В то время (2008) я думал что к 2020 году все такие проблемы будут уже решены умными бородатыми дядями.
Re[7]: Про умные указатели а лучше сборщик мусора...
От: Aquilaware  
Дата: 09.01.23 14:12
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Чёт квадратичная сложность получается.


Важный момент: сборка мусора делается только для одного обьекта. Для того, который в данный момент потенциально удаляется.

Сложность такой сборки мусора равна сложности алгоритма нахождения циклов в графе. Она в общем виде составляет O(|V| + |E|), где |V| — кол-во вершин (обьектов), |E| — кол-во ребер (связей между обьектами). В реальности еще меньше, так как работа ведется не со всем графом, а только с его подграфом который относится к обьекту, для которого делается сборка мусора.

Если же удалять все обьекты сразу, то да, общая сложность такой операции будет O(|V|^2 + |V|*|E|).
Отредактировано 09.01.2023 14:22 Aquilaware . Предыдущая версия .
Re[8]: Про умные указатели а лучше сборщик мусора...
От: Shmj Ниоткуда  
Дата: 09.01.23 14:13
Оценка:
Здравствуйте, Aquilaware, Вы писали:

A>Возможно что-то не было учтено и в других сценариях использования начали вскрываться бы просчеты. Именно поэтому я и не стал делать публикацию тогда. Но то, что это по своему новаторское и оригинальное решение — я осознаю сейчас еще лучше. В то время (2008) я думал что к 2020 году все такие проблемы будут уже решены умными бородатыми дядями.


А что мешает опубликовать это сейчас — все-равно без дела лежит?
Re[9]: Про умные указатели а лучше сборщик мусора...
От: Aquilaware  
Дата: 09.01.23 14:24
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>А что мешает опубликовать это сейчас — все-равно без дела лежит?


То, что код остался где-то в проектах клиента и у меня уже 11 лет как нет к нему доступа, а копию я не сделал.

Но можно попробовать написать наново.
Re[7]: Про умные указатели а лучше сборщик мусора...
От: B0FEE664  
Дата: 09.01.23 14:53
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ага. А Ферма доказал Великую Теорему

S>Пока не увижу — не поверю.
Shmj, ещё скажите, что вы проверяли доказательство Эндрю Уайлсона!

BFE>>С того, что Qt хранит внутри себя указатели, а не смарт-указатели и вызывает delete для объектов, когда считает нужным. Это означает, что сборщик мусора не будет совместим с Qt, так как Qt ничего не знает про сторонний сборщик мусора.

S>Что мешает из QT использовать не QT-объекты и применять любой удобный для вас способ управления памятью
С того, что он так написан!
Хотите переписать все указатели из Qt на умные указатели?
И каждый день — без права на ошибку...
Re[4]: Про умные указатели а лучше сборщик мусора...
От: Aquilaware  
Дата: 09.01.23 15:11
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>И вообще, Shmj, при использовании Qt и других подобных библиотек задача сборщика мусора не возникает и будет ему противоречить.


Как пример, GC отлично дружится с COM, потому что там есть счетчик ссылок. Если же счетчика ссылок или другого подобного механизма нет, то GC будет несовместим с такой моделью управления памятью.

Но такие кардинальные подходы какие предлагает, например, Boehm GC всё равно могут быть до определенного уровня совместимы даже с такими библиотеками, т.к. там функция free — становится по сути no-op. Это то, что касается C. Но что делать, например, с деструкторами и функцией delete в С++ в таком случае — не понятно, деструкторы не будут правильно работать с GC.
Re[8]: Про умные указатели а лучше сборщик мусора...
От: Shmj Ниоткуда  
Дата: 09.01.23 17:18
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE> Shmj, ещё скажите, что вы проверяли доказательство Эндрю Уайлсона!


Зачем же лично? И тут я лично не собираюсь проверять — доверяю коллективному сознанию.

BFE>С того, что он так написан!

BFE>Хотите переписать все указатели из Qt на умные указатели?

А что мешает в QT использовать не QT библиотеки?
Re[9]: Про умные указатели а лучше сборщик мусора...
От: rg45 СССР  
Дата: 09.01.23 17:44
Оценка: +2 -1
Здравствуйте, Shmj, Вы писали:

S>Пока не увижу, не поверю
Автор: Shmj
Дата: 09.01.23
.


S>доверяю коллективному сознанию
Автор: Shmj
Дата: 09.01.23
.


Тебе в других форумах не раз советовали показаться специалистам. Ты напрасно пренебрегаешь, по-моему, прогрессирует.
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[10]: Про умные указатели а лучше сборщик мусора...
От: Shmj Ниоткуда  
Дата: 09.01.23 17:49
Оценка:
Здравствуйте, rg45, Вы писали:

R>Тебе в других форумах не раз советовали показаться специалистам. Ты напрасно пренебрегаешь, по-моему, прогрессирует.


Коллективное сознание не видело этой библиотеки и не дало ей оценку. Пусть опубликует, даст ссылку на откашливание. Ну или попробует продать. Сразу найдут что не так с либой и почему это УГ.
Re[11]: Про умные указатели а лучше сборщик мусора...
От: rg45 СССР  
Дата: 09.01.23 18:07
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Коллективное сознание не видело этой библиотеки и не дало ей оценку. Пусть опубликует, даст ссылку на откашливание. Ну или попробует продать. Сразу найдут что не так с либой и почему это УГ.


Зачем тебе какие-то ссылки, когда тебе информацию дает непосредственный представитель того самого сознания, которому ты доверяшешь. Ты же доверяешь?
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 09.01.2023 18:14 rg45 . Предыдущая версия . Еще …
Отредактировано 09.01.2023 18:10 rg45 . Предыдущая версия .
Re[11]: Про умные указатели а лучше сборщик мусора...
От: Aquilaware  
Дата: 09.01.23 18:14
Оценка: +3
Здравствуйте, Shmj, Вы писали:

S>Пусть опубликует, даст ссылку на откашливание.


Я бы вам мог бесплатно дать в лицо, чтобы вы могли прокашлялся от своей темноты. Всякое желание пропадает что-либо публиковать после общения с такими уродами благодарными людьми как ты.
Re[12]: Про умные указатели а лучше сборщик мусора...
От: Shmj Ниоткуда  
Дата: 09.01.23 19:57
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>Зачем тебе какие-то ссылки, когда тебе информацию дает непосредственный представитель того самого сознания, которому ты доверяшешь. Ты же доверяешь?


Это не так работает, бро. Вот тебе, для практического примера, поддержка целостности блокчейна. Ты можешь не доверять никому конкретно — но система так устроена, что при желании любого обмануть — обман быстро будет обнаружен.

Примерно так и с библиотеками. Чел. выкладывает, смотрят многие, пробуют заюзать в своих сложных кейсах — и сразу всплывает лажа, если она есть.
Re[12]: Про умные указатели а лучше сборщик мусора...
От: Shmj Ниоткуда  
Дата: 09.01.23 19:58
Оценка:
Здравствуйте, Aquilaware, Вы писали:

S>>Пусть опубликует, даст ссылку на откашливание.


A>Я бы вам мог бесплатно дать в лицо, чтобы вы могли прокашлялся от своей темноты. Всякое желание пропадает что-либо публиковать после общения с такими уродами благодарными людьми как ты.


Ну ясно — теперь можно не писать, ведь причина есть поля книги слишком узки для него — я во всем виноват
Re[13]: Про умные указатели а лучше сборщик мусора...
От: rg45 СССР  
Дата: 09.01.23 20:36
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Это не так работает, бро.

S>Это не так работает, бро. Вот тебе, для практического примера, поддержка целостности блокчейна. Ты можешь не доверять никому конкретно — но система так устроена, что при желании любого обмануть — обман быстро будет обнаружен.
S>Примерно так и с библиотеками. Чел. выкладывает, смотрят многие, пробуют заюзать в своих сложных кейсах — и сразу всплывает лажа, если она есть.

Какой я тебе бро. Ты к соседу по горшку можешь так обращаться.

Я не пойму, ты ко мне в учителя набиваешься, или что? Тебе самому еще учиться и учиться — молча, широко открыв рот.
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 09.01.2023 21:02 rg45 . Предыдущая версия . Еще …
Отредактировано 09.01.2023 21:01 rg45 . Предыдущая версия .
Отредактировано 09.01.2023 21:00 rg45 . Предыдущая версия .
Отредактировано 09.01.2023 20:41 rg45 . Предыдущая версия .
Отредактировано 09.01.2023 20:37 rg45 . Предыдущая версия .
Re[14]: Про умные указатели а лучше сборщик мусора...
От: Shmj Ниоткуда  
Дата: 09.01.23 21:32
Оценка:
Здравствуйте, rg45, Вы писали:

R>Какой я тебе бро. Ты к соседу по горшку можешь так обращаться.

R>Я не пойму, ты ко мне в учителя набиваешься, или что? Тебе самому еще учиться и учиться — молча, широко открыв рот.

Это все ля-ля. Это тебе интересно переходить на личности, обсуждать личности и т.д. Мне это не интересно абсолютно — ибо я знаю что все в мир — одна единая личность, находящаяся в разных контекстах реальности. Ты это я а я это ты. Врач и палач, царь и раб — как в песне. Мне это понятно абсолютно и все твои эмоции мне легко понятны и уже даже поднадоели. То что у тебя сама эта мысль вызывает отвращение — мне тоже абсолютно понятно — сам таким был.

Меня больше интересует вопрос вполне конкретный — возможно ли создать умный указатель с функционалом, аналогичным сборщику мусора без изменения компилятора и рантайма. И если да — то почему до сих пор этого не сделали.
Re[15]: Про умные указатели а лучше сборщик мусора...
От: rg45 СССР  
Дата: 09.01.23 21:45
Оценка: +2 -1
Здравствуйте, Shmj, Вы писали:

S>Это все ля-ля. Это тебе интересно переходить на личности, обсуждать личности и т.д. Мне это не интересно абсолютно — ибо я знаю что все в мир — одна единая личность, находящаяся в разных контекстах реальности. Ты это я а я это ты. Врач и палач, царь и раб — как в песне. Мне это понятно абсолютно и все твои эмоции мне легко понятны и уже даже поднадоели. То что у тебя сама эта мысль вызывает отвращение — мне тоже абсолютно понятно — сам таким был.


"Ля-ля-ля" это вот ^^^^^это все^^^^^^

S>Меня больше интересует вопрос вполне конкретный — возможно ли создать умный указатель с функционалом, аналогичным сборщику мусора без изменения компилятора и рантайма. И если да — то почему до сих пор этого не сделали.


Врешь ты все, ни хрена тебя не интересует, кроме словоблудия. Люди, которые поначалу еще пытались тебя воспринимать всерьез, уже все поняли.
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 09.01.2023 21:48 rg45 . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.