Использование памяти

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Использование памяти

Сообщение Andrew55 » 19.01.2011 11:37:28

Возникла проблема. Я заметил, что при работе в IDE Lazarus через некоторое время
комп начинает тормозить: не только возрастает время компиляции, но и сам редактор
притормаживает, приходится ждать. Открыв диспетчер задач, обнаружил, что после
каждой компиляции и завершения работы отлаживаемой программы возрастает медленно,
но неуклонно объем используемой памяти. Впечатление, что в памяти остаются какие-то
хвосты.
Кто-нибудь сталкивался с такой проблемой?
В принципе, Lazarus меня устраивает, но сидеть и ждать, когда комп вспомнит обо мне,
нет никакого желания, даже возникает желание все-таки приобрести лицензионную
копию Delphi - там таких проблем никогда не было, да и скорость компиляции - ого-го.
Аватара пользователя
Andrew55
новенький
 
Сообщения: 17
Зарегистрирован: 19.01.2011 11:20:37
Откуда: Ставрополь

Re: Использование памяти

Сообщение Odyssey » 19.01.2011 11:53:20

Чтобы разобраться в проблеме, нужно больше информации:
1) Версия Lazarus, FPC
2) ОС -- название, версия, архитектура (x86 или x86_64)
3) Остаётся ли проблема, если вместо отладки пользоваться обычной компиляцией (Ctrl+F9), а запускать приложение из файлового менеджера.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Использование памяти

Сообщение Mr.Smart » 19.01.2011 12:00:16

В случае не очень быстрой машины, возможно антивирус портачит.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Использование памяти

Сообщение Andrew55 » 19.01.2011 12:02:39

Lazarus 0.9.28.2
fpc 2.2.4
Windows XP
Проблема только при компиляции, более всего достает имеенно
поведение редактора.

Добавлено спустя 3 минуты 26 секунд:
2 ГГц
1 Г ОЗУ
Аватара пользователя
Andrew55
новенький
 
Сообщения: 17
Зарегистрирован: 19.01.2011 11:20:37
Откуда: Ставрополь

Re: Использование памяти

Сообщение Odyssey » 19.01.2011 12:09:26

Могу предложить обновиться до релиз-кандидата 0.9.30 и проверить, исправлена ли проблема там.
Страница ежедневных сборок:
http://www.hu.freepascal.org/lazarus/
Вам нужен Lazarus-0.9.29-29112-fpc-2.4.2-20110119-win32.exe. На остальные смотреть не стоит, они не тестируются. Статус релиз-кандидатов 0.9.30 имеют только сборки Lazarus fixes 0.9.29.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Использование памяти

Сообщение Andrew55 » 19.01.2011 12:11:13

Да, и еще: отключение Касперского ничего не меняет - это я пробовал
в первую очередь.

Добавлено спустя 1 минуту 7 секунд:
Спасибо, попробую.
Аватара пользователя
Andrew55
новенький
 
Сообщения: 17
Зарегистрирован: 19.01.2011 11:20:37
Откуда: Ставрополь

Re: Использование памяти

Сообщение Verx0Laz » 19.01.2011 13:32:42

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

...17 декабря Медвед подписал указ о переходе всех госструктур и бюджетников на СПО в двухлетний срок. И если учесть, что эти два года - всего-лишь завершение прошедших пяти лет активной подготовки, указ будет выполнен! К 2013 году или чуток позже, но под виндами останется только крупный бизнес (да и то - не весь). Представляешь, какая конкуренция будет в этой сфере? Покруче, чем сейчас на фрилансе. И тебя там, с лицензионной дельфой и уровнем вопросов о скорости компиляции, ждет несомненный успех и безоблачное будущее :)
(с) Андрей Тарковский х/ф "Сталкер" - Не всегда самый прямой путь - самый короткий.
Andrew55 писал(а):Проблема только при компиляции, более всего достает имеенно
поведение редактора.

У меня 1,5 ГГц, 512мБ ОЗУ и ХРю Проф второй системой - и подобного эффекта на 28м релизе не наблюдал. На 24 релизе, кажется, была очень долгая компиляция, но потом это исправили. Могу предложить полную переустановку Лазаря (не забудь удалить руками конфиги в папке Documents and settings, иначе всё зря) и... у тебя что за Винды? Если какая-нибудь сборка типа Зверевской или иных в этом духе, тогда понятно. Эти олени - сборщики нифига не понимают, что винда - это не линукс, в котором любой пакет можно безнаказанно грохнуть или поставить автоматом так, чтобы он встал ровно и куда надо. Винда - это монолитная архитектура, и любые отключения непонятных процессов или приколы с софтом класса nLite приводят к тому, что вынь начинает глючить в самых неожиданных местах.

И еще. Ты не сказал, что у тебя за проект. Там есть подключение к базам данных, использование внешних приложений, графика, многопоточность, или куча статически создаваемых форм? Может, мы вообще не туда копаем?
Аватара пользователя
Verx0Laz
постоялец
 
Сообщения: 125
Зарегистрирован: 11.09.2007 11:24:07

Re: Использование памяти

Сообщение Andrew55 » 19.01.2011 14:02:31

Ладно, пока не будем связываться с лиц. Delphi, но
в нашем случае установка 0.9.29 не дала никакого
результата, а вот отключение отладчика все поставило
на свои места - объем используемой памяти не растет,
а то при каждом изменении размера формы добавлялось
1 - 2 метра.
Никаких наворотов в моем проекте нет - немного графики,
делаю свой компонент для рисования графиков, а то
лазаревский TChart (да и дельфийский) мне не нравится. Буду рисовать
изменение потенциалов во времени. Хотелось бы иметь, кроме градиентной
заливки, которой в лазаре нет, возможность масштабирования по обеим
осям и прокрутки во всем диапазоне выводимых значений. Уже
заканчиваю, осталось осуществить рисование горизонтальных
координатных линий.
Тонкостей программирования я могу и не знать, поскольку
являюсь не профессиональным программистом, а программирующим
профессионалом, хотя первую свою программу написал в далеком
1976 году "Расчет токов короткого замыкания на подстанциях",
так что не обижайтесь на меня.Большая часть рабочего времени
посвящается разработке схем и программ для микроконтроллеров,
а программирование на ПК происходит время от времени.
Пока все получалось.
Аватара пользователя
Andrew55
новенький
 
Сообщения: 17
Зарегистрирован: 19.01.2011 11:20:37
Откуда: Ставрополь

Re: Использование памяти

Сообщение Mr.Smart » 19.01.2011 14:54:52

Andrew55 посмотрите вот этот компонент. Может почерпнёте из него идеи.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Использование памяти

Сообщение devels » 19.01.2011 15:26:44

Скорость компиляции fpc 2.4.3, которая есть пока в ночных сборках в 2-3 раза быстрее чем в fpc 2.4.2, в основном торможение происходит из-за линковки ресурсов, это видно по последнему этапу. Не помню, но есть какая-то программа, которая позволяет из оперативки сделать мини диск, запись на который будет намного быстрее и чтение естественно, возможно она поможет ускорить немного компиляцию, ведь по сути информация сохраняется в опиративку, а не на диск.
devels
постоялец
 
Сообщения: 137
Зарегистрирован: 01.09.2010 12:14:38

Re: Использование памяти

Сообщение Verx0Laz » 19.01.2011 15:59:45

Andrew55 писал(а):Тонкостей программирования я могу и не знать, поскольку
являюсь не профессиональным программистом, а программирующим
профессионалом, хотя первую свою программу написал в далеком
1976 году "Расчет токов короткого замыкания на подстанциях",
так что не обижайтесь на меня.


В свою очередь, приношу свои извинения за некоторую категоричность тона моего прошлого ответа. Я, грешным делом, подумал, что очередной нерадивый студент пришел обвинить лазарус в собственной некомпетентности, и таких сейчас много, так что уж не взыщите.
Если я правильно понял, вы сейчас в начале пути по освоению Lazarus? Осмелюсь предложить для ознакомления пару ссылок, которые могут оказаться вам весьма полезны.
http://wiki.lazarus.freepascal.org/Lazarus_Faq/ru - русский FAQ по Lazarus...
http://www.hu.freepascal.org/lazarus/ - самые свежие сборки Lazarus и FPC
http://wiki.lazarus.freepascal.org/ - Вика Лазаревна :)

Ну и естественно, этот форум :)
Аватара пользователя
Verx0Laz
постоялец
 
Сообщения: 125
Зарегистрирован: 11.09.2007 11:24:07

Re: Использование памяти

Сообщение Odyssey » 20.01.2011 01:15:07

Andrew55 писал(а):...в нашем случае установка 0.9.29 не дала никакого результата, а вот отключение отладчика все поставило на свои места - объем используемой памяти не растет, а то при каждом изменении размера формы добавлялось 1 - 2 метра.

Действительно, отладчик в Lazarus, имхо, одно из слабых мест (по сравнению с Delphi). Потому что он внешний, т.е. это совершенно независимый от Lazarus проект -- gdb.
Сам я уже давно привык к отладке через вывод сообщений в лог/консоль, это оказалось довольно полезным, и помогло избежать многих проблем. Если есть возможность -- будет нелишним уметь использовать этот метод.

А для того, чтобы улучшить ситуацию с отладчиком, можно создать отчёт об ошибке и разместить его на http://bugs.freepascal.org/. Отчёт должен быть на английском, и содержать минимальный пример программы с пошаговой инструкцией о том, как повторить возникновение проблемы. Такие отчёты ждёт разная судьба -- какие-то ошибки исправляются менее чем за неделю, какие-то остаются на год и больше.

Если есть время/желание улучшить отладчик, а с английским проблемы, можно выложить тестовый пример и инструкцию сюда, думаю найдутся люди, которые смогут перевести и перенести отчёт. Если времени не хватает -- можно переключиться на вышеописанный способ отладки и забыть про отладчик как про страшный сон.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Использование памяти

Сообщение Polugut » 20.01.2011 04:33:25

У меня в Ubuntu Lazarus сутками работает, без проблем, торможений со временем не замечено. Именно сутками, я ноутбук не выключаю почти, только в спящий режим отправляю, потому Lazarus открыт постоянно.

Указанные данные о компьютере мало говорят. Сейчас производительность процессора не гигагерцами меряют. У меня, например, процессор 1.4 максимально может выдать, но работает на 0.8 (800 мегагерц), специально приторможен, чтоб не грелся. Процессор Intel Core 2 Duo.
Хотя если процессор Pentium 4 - 2 Гигагерца, то это старая модель.
Polugut
новенький
 
Сообщения: 19
Зарегистрирован: 25.02.2010 23:50:29

Re: Использование памяти

Сообщение Ask » 20.01.2011 04:56:13

Andrew55 писал(а):делаю свой компонент для рисования графиков, а то
лазаревский TChart (да и дельфийский) мне не нравится. Буду рисовать
изменение потенциалов во времени. Хотелось бы иметь, кроме градиентной
заливки, которой в лазаре нет, возможность масштабирования по обеим
осям и прокрутки во всем диапазоне выводимых значений. Уже
заканчиваю, осталось осуществить рисование горизонтальных
координатных линий.


В TAChart (да и в TChart, если Я правильно помню), это всё есть -- разве что градиент только
для фона. Можно узнать поподробнее, что именно в TAChart не нравится?
Ask
постоялец
 
Сообщения: 163
Зарегистрирован: 25.12.2008 03:51:37

Re: Использование памяти

Сообщение Verx0Laz » 20.01.2011 04:59:27

Polugut писал(а):Сейчас производительность процессора не гигагерцами меряют. У меня, например, процессор 1.4 максимально может выдать, но работает на 0.8 (800 мегагерц), специально приторможен, чтоб не грелся. Процессор Intel Core 2 Duo.

Здесь речь не о том, что Lazarus 0.9.28.2 виснет вообще, а о том, что отладчик виснет в конкретном случае...

Добавлено спустя 9 минут 58 секунд:
Ask писал(а):
Andrew55 писал(а):делаю свой компонент для рисования графиков, а то
лазаревский TChart (да и дельфийский) мне не нравится. Буду рисовать
изменение потенциалов во времени. Хотелось бы иметь, кроме градиентной
заливки, которой в лазаре нет, возможность масштабирования по обеим
осям и прокрутки во всем диапазоне выводимых значений. Уже
заканчиваю, осталось осуществить рисование горизонтальных
координатных линий.


В TAChart (да и в TChart, если Я правильно помню), это всё есть -- разве что градиент только
для фона. Можно узнать поподробнее, что именно в TAChart не нравится?

Ask, В данном случае, вопрос стоит не об отдельных свойствах, а о комплексе свойств и об индивидуальном подходе к каждому из них...
Последний раз редактировалось Verx0Laz 20.01.2011 13:17:38, всего редактировалось 1 раз.
Аватара пользователя
Verx0Laz
постоялец
 
Сообщения: 125
Зарегистрирован: 11.09.2007 11:24:07

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25

Рейтинг@Mail.ru