Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: CL | DM;

Вниз

Управление памятью   Найти похожие ветки 

 
TUser ©   (2006-01-27 18:55) [0]

Почитал тут
http://russian.joelonsoftware.com/Articles/HowMicrosoftLosttheWaronA.html

Заинересовало рассуждение об управлении памятью. Есть две тенденции
(a) все делать самому, сам выделил - сам освобождай
(б) положиться на сборщиков мусора, подсчет ссылок и пр.

Что лучше - какие имхи? С одной стороны, на Паскале или Си, где реализована (не надо про строки и пр.) мысль (а) - ты сам управляешь полностью свой программой. Но и ответственность за ошибки несешь сам. В случае (б) - в скриптовых языках, на джаве и пр, - тебе жить легко. Но ошибки ведь могут быть серьезнее, разве не так?


 
McSimm ©   (2006-01-27 18:59) [1]


> в скриптовых языках, на джаве и пр, - тебе жить легко.

до поры до времени :)


 
Lamer@fools.ua ©   (2006-01-27 19:05) [2]

В разных случаях, по-разному.
Идеальным, IMHO, является сочетание "а" с "б".


 
begin...end ©   (2006-01-27 19:07) [3]

> Но ошибки ведь могут быть серьезнее, разве не так?

Не понял вопроса


 
VictorT ©   (2006-01-27 19:14) [4]

Кстати, вот недавно один товарищь посмотрел кусочек моего исходника (PHP), сделал замечание:
- А почему ты ти не освобождаешь результат и не закриваешь коннект?
Я сказал, что результаты и так сами освобождаются, и коннект сам закрывается.
И кому из нас верить?


 
VictorT ©   (2006-01-27 19:15) [5]

З.Ы. Коннект к базе, имелось в виду, и результат выполнения SQL-запроса к базе.


 
teon   (2006-01-27 19:16) [6]

TUser ©   (27.01.06 18:55)
>Есть две тенденции

- Пообедал. Осталась грязная посуда.
а) помыл вручную, затраты: время
б) отправил в посудомоечную машину, затраты: деньги на покупку машины

- Захотел поужинать.
а) пошел в фастфуд, затраты: наценка над себестоимостью продуктов, обусловленная стремлением фастфуда к безубыточности
б) приготовил ужин самостоятельно, затраты: время на покупку продуктов и готовку

- В стране выборы.
a) не пошел на выборы, в результате победила партия власти, затраты: связаны с отменой льгот
б) пошел на выборы, в результате победила оппозиция, затраты: в виде партийных взносов

Диалектика.


 
TUser ©   (2006-01-27 19:25) [7]

> Диалектика.

Это не диалектика, а все это - рассуждения о предельных издержках из учебника экономики. Так какие издержки для нас предпостительнее?


 
teon   (2006-01-27 19:45) [8]

>Это не диалектика,

Если рассматривать возможность только указанных выходов из описанных ситуаций, то это самая настоящая диалектика.

По теме.
Идеальным было бы совмещение обоих механизмов. Автоматическая сборка мусора хороша на глобальном уровне, когда за часто используемыми в разных местах экземплярами объектов сложно уследить.
Ручное управление памятью эффективно, когда область использования объекта невелика.
Частично, это реализовано в C#, где можно создавать Value-типы в стеке (удаляются при выходе из области видимости), а объекты в куче. В отличии от Java.


 
Mystic ©   (2006-01-27 22:42) [9]

Каждая стратегия имеет свои преимущества и недостатки :) В общем случае, если сборчик мусора справляется с нагрузкой на него, то это благо. СУществуют еще и промежуточные решения: подсчет ссылок (не справляется с циклическими ссылками, weak pointers, и т. д.)


 
Eraser ©   (2006-01-27 22:56) [10]

В небезизвестной статье с RSDN http://rsdn.ru/article/dotnet/GCnet.xml
про сборщик мусора в NET, как раз приведены результаты тестирования сборщика мучора и обычного распределения памяти врукопашную.



Страницы: 1 вся ветка

Текущий архив: 2006.02.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
11-1120107059
Василий
2005-06-30 08:50
2006.02.19
KOL-овский TControl и свойство Anchors


15-1138625475
syte_ser78
2006-01-30 15:51
2006.02.19
какого рекламодателя использывать?


15-1138815520
Serg1981
2006-02-01 20:38
2006.02.19
RichEdit


15-1138290638
Andy BitOff
2006-01-26 18:50
2006.02.19
Установка GDIplus под D2005 - проблемы.


1-1137737999
Amentah
2006-01-20 09:19
2006.02.19
Округление и другие операции над числами