Оптимизация на fpc

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

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

Ответить
Аватара пользователя
Vlad04
новенький
Сообщения: 80
Зарегистрирован: 11.12.2007 20:11:19
Откуда: Караганда. Казахстан

Оптимизация на fpc

Сообщение Vlad04 »

Здравствуйте все.
С проектами fpc и Lazarus. Познакомился недавно и еще не разобрался в структуре этих продуктов. Почитал форум, фак, однако для себя разъяснил далеко не все.
Поэтому задам несколько вопросов, может быть простых, но для меня не совсем ясных.
1. В одном из постов упоминался профайлер. Если я правильно понял это программа для оптимизации программ (в Турбо Паскале под ДОСом был Турбопрофайлер - классная вещь). Что это за программа, где ее можно взять, работает ли она с исходными текстами Лазаря?
2. Что такое svn? В чем особенность svn-версий компилятора и ИДЕ, какие еще бывают версии?
3. Был вопрос об наследовании форм в Лазаре. В ответе сказано, что она не поддерживается на уровне ИДЕ. А на уровне компилятора?

Заранее благодарю за ответ.

PS. Ув. Модератор. Если моё сообщение будет перенесено в какую-либо тему, прошу сообщить куда именно.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

По пунктам
1. Сказать ничего не могу - на сталкивался. Обычно здравый смысл при написании работает не хуже профайлера. :-)

2. SVN версия - это текщая версия проекта, в которую все вносят изменения и дописывают функционал. Бывает не стабильной, особенно после выхода промежуточной версии. В принципе сейчас проект находится на той стадии, когда можно работать с этой версией.
Ещё бывают промежуточные стабильные версии. Это те версии, в которых баги боле или мене вылизаны и работают они хорошо.
Но эти версии выходят с периодичностьь в 2-3 месяца. Поэтому если вам не критичны последние новые возможности IDE и компилятора - то можно пользоваться ими.

3. Наследование сделано наполовину. т.е. сама IDE не может создать унаследованную форму - для этого надо править вручную lfm и pas файлы. Но ничего страшного в этом нет. После необходимых исправлений IDE нормально отслеживает файт унаследования. На насчёт наследования на уровне компилятора - ему то какая разница? Ведь в итоге получается обычный паскальный код. Более подробно о наследовании смотри на форуме - тут это обсуждалось.
Аватара пользователя
Vlad04
новенький
Сообщения: 80
Зарегистрирован: 11.12.2007 20:11:19
Откуда: Караганда. Казахстан

Сообщение Vlad04 »

alexs писал(а):По пунктам
1. Сказать ничего не могу - на сталкивался. Обычно здравый смысл при написании работает не хуже профайлера. :-)


Я, в свое время, пользовался TurboProfiler. Так вот он позволял сделать следующее: загружаешь откомпилированную программу вместе и исходниками. В исходном тексте ставишь метки замера времени и запускаешь программу на выполение. В итоге получаешь общее время работы программы и время выполнения каждого куска от метки до метки. Очень удобно при выискивании самого медленного куска кода и сравнения различных вариантов процедур.
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

gprogiler, вроде есть... В опциях компилятора - связывание есть галочка для генерации информации для него... Правда подобная галочка не срабатывает для valgrind'a ^_^ С профайлером тоже не сталкивался....

UDP: http://www.opennet.ru/docs/RUS/gprof/
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Vlad04
Для BP7 я с ним тоже работал
Именно оттуда и вынес суждение - что оптимизацию сначала надо прокрутить в голове.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Я работаю с двумя профайлерами - gpprof (не gprof ! ) и valgrind. Первый написан на Дельфи и работает только в Windows, второй работает только в Linux, зато как... :)

Gpprof - с оконным интерфейсом. Он инструментирует исходники, которые потом надо перекомпилять. Теоретически он может спотыкаться на конструкциях языка, которых нет в Дельфи, но я пишу в дельфи-совместимом стиле и поэтому никаких проблем с FPC не испытываю.

valgrind никаких изменений в программе не требует, за исключением ключа -gl при компиляции - но и он нужен только для того, чтобы видеть в отчетах имена ф-ций вместо адресов. Работает только с командной строки, придется привыкать.

alexs
Насчет головы согласен на все 150%, но эти штуки иногда показывают такое, что меняет представления о сути вещей на корню.
Аватара пользователя
Vlad04
новенький
Сообщения: 80
Зарегистрирован: 11.12.2007 20:11:19
Откуда: Караганда. Казахстан

Сообщение Vlad04 »

За GpProf спасибо, буду разбираться

Sergei I. Gorelkin писал(а):alexs
Насчет головы согласен на все 150%, но эти штуки иногда показывают такое, что меняет представления о сути вещей на корню.


Под этим подпишусь и я.
Аватара пользователя
Alexander
энтузиаст
Сообщения: 891
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Vlad04 писал(а):2. Что такое svn? В чем особенность svn-версий компилятора и ИДЕ, какие еще бывают версии?


SVN это SubVersioN - система контроля версий и совместной разработки.
Много людей делают свои добавления к общим исходникам. Всё это
разруливается и поддерживается откат версий.

Для пользователя же, который в разработке не участвует, SVN это
способ получить самые свежие исходники. Например, изменения, сделанные
за последние несколько минут.

Другие версии (в виде архивов) это или релизы, или "снимки" SVN за какой то
момент времени.
Аватара пользователя
Vlad04
новенький
Сообщения: 80
Зарегистрирован: 11.12.2007 20:11:19
Откуда: Караганда. Казахстан

Сообщение Vlad04 »

Alexander писал(а):Для пользователя же, который в разработке не участвует, SVN это
способ получить самые свежие исходники. Например, изменения, сделанные за последние несколько минут.

Другие версии (в виде архивов) это или релизы, или "снимки" SVN за какой то
момент времени.


Можно этот вопрос осветить по подробнее?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Vlad04
http://ru.wikipedia.org/wiki/Svn
http://sourceforge.net/svn/?group_id=89339

снимки тут -
http://www.hu.freepascal.org/lazarus/

если хотишь svn версию и напряг с трафиком то поищи на форуме архив или спроси у ev где он лежит
Аватара пользователя
Alexander
энтузиаст
Сообщения: 891
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Vlad04 писал(а):Можно этот вопрос осветить по подробнее?


В какой части ?
Аватара пользователя
Vlad04
новенький
Сообщения: 80
Зарегистрирован: 11.12.2007 20:11:19
Откуда: Караганда. Казахстан

Сообщение Vlad04 »



Спасибо, теперь более-менее ясно.
Ответить