![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
какая из конструкций вернет память скрипту ?
Интересует так же и для хэша. И ещё подскажите как мониторить куда расходуется память. Похоже где-то текёт, а где не могу понять. |
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
п.3 не эквивалентен остальным (догадайтесь, почему). п.1 - deprecated, см. perldoc. Из п.2 и п.4 я выбираю п.4.
По памяти. Перл не возвращает память обратно ОС. Т.е. если у вас в какой-то момент потребовалось 100мб - эти 100мб будут переиспользоваться потом, пока не потребуется больше (есть тонкости, конечно, но в общих чертах - это так), но отдать их ОС - нельзя. Поэтому признак утечки - если со временем у вас постоянный рост потребления памяти. Если на какую-то одну операцию её потребовалось много - это ещё не утечка. |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
В каком разделе perldoc можно об этом почитать? |
|||
|
||||
| Jimy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 4.7.2010 Репутация: нет Всего: 3 |
Следующие две команды эквивалентны:
@array = (); $#array = -1; Усечение массива не освобождает занимаемую им память. Чтобы вернуть память в пул памяти процесса, нужно использовать undef (@array) Вернуть память в системный пул, вероятно, не удасться, поскольку немногие операционные системы поддерживают это. Так что правильный ответ: только вариант №1. |
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
Да, я тут скорее всего ошибся. Ответ от Jimy точнее - только п.2 и п.4 эквивалентны.
|
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
-------------------- Died at Life.pl line 21 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |