Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизУправление памятью Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.056 c