Главная страница
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.068 c
15-1138377336
TUser
2006-01-27 18:55
2006.02.19
Управление памятью


2-1138977069
буржуй
2006-02-03 17:31
2006.02.19
Как мне удалить себя внутри себя?


4-1133724406
Костя
2005-12-04 22:26
2006.02.19
Как выкключить компьютер


15-1138632090
Din
2006-01-30 17:41
2006.02.19
Как сделать чтобы Интернет Эксплороер не выкачивал флеш-ролики?


1-1137843315
Arkano
2006-01-21 14:35
2006.02.19
Имитрование нажатия правой кнопки крысы