Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Во многих языках со встроеным сборщиком мусора(c#,java,python) есть проблемы производительности, вызваные работой этого сборщика мусора. В c++ backend используются простейшие по устройству SmartPointer'ы - и всё ок. Почему подобный подход не используется или не применим к языкам, упомянутым в начале? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 17:54 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Наверное со SmartPoint-ерами не все ОК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 18:28 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Не все ОК, есть проблема с циклическими ссылками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 19:14 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
SmartPointer - это же reference counting? В Питоне он вроде до сих пор используется. В джаве, вроде, решили, что дешевле прибивать поколения, чем у каждого ссылки считать. И обычно проблемы не в сборщике мусора, а в алгоритмах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 19:27 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Dima TНе все ОК, есть проблема с циклическими ссылками. Это сильно надуманная проблема новичков. Для этого в паре со shared_ptr идет weak_ptr ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 20:01 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
YesSqlDima TНе все ОК, есть проблема с циклическими ссылками. Это сильно надуманная проблема новичков. Для этого в паре со shared_ptr идет weak_ptr Hello, World! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 20:31 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Можно начать с того, что не у всех есть стековая память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 20:53 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
SiemarglМожно начать с того, что не у всех есть стековая память. У кого нет? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 22:40 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
YesSqlDima TНе все ОК, есть проблема с циклическими ссылками. Это сильно надуманная проблема новичков. Для этого в паре со shared_ptr идет weak_ptr Вот уже начинаются проблемы -- различные типы поинтеров. Добавь к этому ещё кастомные делитеры и проблемы, решаемые через secret ctor . Подгнило что-то в Датском королевстве, поэтому эти ваши сисярпы/явы и не запариваются по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 00:21 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskySiemarglМожно начать с того, что не у всех есть стековая память. У кого нет? )AFAIK классы c#, явы и питона хранятся исключительно в хипе. структуры c#, временные ссылки (т.е. указатели) - на стеке. но это явно меньшее количество данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 00:22 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
qq2017, достаточно заглянуть в Википедию: Подсчёт ссылок . Подсчёт ссылок может ухудшать производительность, по сравнению со сборкой мусора. И могут быть проблемы с циклическими ссылками. В английской Вики расписано намного подробнее: Reference counting . Например, интересен взвешенный подсчёт ссылок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 01:31 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakSmartPointer - это же reference counting? В Питоне он вроде до сих пор используется. В джаве, вроде, решили, что дешевле прибивать поколения, чем у каждого ссылки считать. И обычно проблемы не в сборщике мусора, а в алгоритмах. В Питоне сразу два способа очищения памяти: старый - ref-counting, и новый - garbage collector чтобы подчищать за циклическими ссылками. Для веб часто третий способ используют - периодически грохать процессы. О том, как в Instagram отключили сборщик мусора Python и начали жить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 02:38 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
petalvikqq2017, достаточно заглянуть в Википедию: Подсчёт ссылок . Подсчёт ссылок может ухудшать производительность, по сравнению со сборкой мусора. И могут быть проблемы с циклическими ссылками. В английской Вики расписано намного подробнее: Reference counting . Например, интересен взвешенный подсчёт ссылок. Может ухудшить. Тут нужна аккуратность, как и вообще с С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 08:29 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
NekZYesSqlпропущено... Это сильно надуманная проблема новичков. Для этого в паре со shared_ptr идет weak_ptr Вот уже начинаются проблемы -- различные типы поинтеров. Добавь к этому ещё кастомные делитеры и проблемы, решаемые через secret ctor . Подгнило что-то в Датском королевстве, поэтому эти ваши сисярпы/явы и не запариваются по этому поводу. Это не подгнило. Это говорит о возможностях кастомизации и контроля над поведением приложения. Кому-то нужен cisco router а кому-то и asus за глаза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 09:04 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
OoCcМожет ухудшить. Тут нужна аккуратность, как и вообще с С++. AFAIK Java и C# ОЧЕНЬ быстро выделяют память, new работает почти мгновенно, но соответственно могут очень долго ее чистить (gc) C, C++ Не очень быстро ))) выделяют (new) и не очень быстро освобождают (delete) И у того и у другого есть свои плюсы и минусы ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 11:54 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevOoCcМожет ухудшить. Тут нужна аккуратность, как и вообще с С++. AFAIK Java и C# ОЧЕНЬ быстро выделяют память, new работает почти мгновенно, но соответственно могут очень долго ее чистить (gc) C, C++ Не очень быстро ))) выделяют (new) и не очень быстро освобождают (delete) И у того и у другого есть свои плюсы и минусы ))) Я имел ввиду смарт указатели. Что касается аллокатора то говорить о том что он медленный нет никакого смысла. В языках С и С++ его нет вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 13:29 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
SiemarglAFAIK классы c#, явы и питона хранятся исключительно в хипе. структуры c#, временные ссылки (т.е. указатели) - на стеке. но это явно меньшее количество данных Но стековая память-то есть )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 13:38 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevOoCcМожет ухудшить. Тут нужна аккуратность, как и вообще с С++. AFAIK Java и C# ОЧЕНЬ быстро выделяют память, new работает почти мгновенно, но соответственно могут очень долго ее чистить (gc) C, C++ Не очень быстро ))) выделяют (new) и не очень быстро освобождают (delete) И у того и у другого есть свои плюсы и минусы ))) Проблема в другом - там где можно обойтись стековым размещением, тебя принуждают к хипу. А локальных одноразовых переменных на порядок больше, чем долговременных. В итоге, виноват GC, что ему насовали столько, что не обработать.... А не криволапная концепция языка, которая все сует в Хип Anatoly MoskovskySiemarglAFAIK классы c#, явы и питона хранятся исключительно в хипе. структуры c#, временные ссылки (т.е. указатели) - на стеке. но это явно меньшее количество данных Но стековая память-то есть )) Стековая память есть везде, где процессор это позволяет. Вроде бы все современные +-10лет к этому пришли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 16:57 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
SiemarglСтековая память есть везде, где процессор это позволяет там где не позволяет - тож есть - IBM/360+ например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 17:16 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
ИзопропилSiemarglСтековая память есть везде, где процессор это позволяет там где не позволяет - тож есть - IBM/360+ напримерИзвините, не некромант. Живых не видел тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 17:31 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
Благодарю за ответы! Всё оказалось не так просто. Хочется уточнить более интересный с практической точки зрения момент: Допустим есть приложение(например бэкэнд), написаный: 1) На С++ без явного управления памятью - только стэковая память и объекты со счётчиком ссылок(shared_ptrы и т.п) 2) То же самое на обычном языке со сборщиком мусора(C#/java/python) Будет ли первый вариант лучше/не хуже в большинстве случаев? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 00:32 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
SiemarglВ итоге, виноват GC, что ему насовали столько, что не обработать.... А не криволапная концепция языка, которая все сует в Хип Кстати, D в этом вопросе отличается от других? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 00:36 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
qq2017SiemarglВ итоге, виноват GC, что ему насовали столько, что не обработать.... А не криволапная концепция языка, которая все сует в Хип Кстати, D в этом вопросе отличается от других?Поменяли к худшему - как в шарпе - структуры на стеке, классы в хипе ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 00:39 |
|
||
|
сборщик мусора и языки
|
|||
|---|---|---|---|
|
#18+
qq2017Почему подобный подход не используется или не применим к языкам, упомянутым в начале?Потому что парадигма. Когда язык разрабатывался, решили, что у нас в основе будет это, это и это. Безопасной работы с памятью в сях не было, разработчики языка решили сделать всем хорошо и сразу. В общем, явщики упирают в скрытие деталей и быструю разработку и сожрать всю память на сервере, плюсовики - в оптимизацию и гибкость. На плюсах можно быстро сделать яву, а вот на яве плюсы - неее В плюсах, кстати, уже есть библиотеки сборщиков мусора. Тут где-то 2-3 в пример приводили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 05:33 |
|
||
|
|

start [/forum/topic.php?fid=57&startmsg=39456646&tid=2018168]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 271ms |

| 0 / 0 |
