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

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

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

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

Сообщение Vlad04 » 18.12.2007 17:24:12

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

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

PS. Ув. Модератор. Если моё сообщение будет перенесено в какую-либо тему, прошу сообщить куда именно.
Аватара пользователя
Vlad04
новенький
 
Сообщения: 78
Зарегистрирован: 11.12.2007 21:11:19
Откуда: Караганда. Казахстан

Сообщение alexs » 18.12.2007 17:47:57

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

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

3. Наследование сделано наполовину. т.е. сама IDE не может создать унаследованную форму - для этого надо править вручную lfm и pas файлы. Но ничего страшного в этом нет. После необходимых исправлений IDE нормально отслеживает файт унаследования. На насчёт наследования на уровне компилятора - ему то какая разница? Ведь в итоге получается обычный паскальный код. Более подробно о наследовании смотри на форуме - тут это обсуждалось.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Vlad04 » 18.12.2007 18:08:47

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


Я, в свое время, пользовался TurboProfiler. Так вот он позволял сделать следующее: загружаешь откомпилированную программу вместе и исходниками. В исходном тексте ставишь метки замера времени и запускаешь программу на выполение. В итоге получаешь общее время работы программы и время выполнения каждого куска от метки до метки. Очень удобно при выискивании самого медленного куска кода и сравнения различных вариантов процедур.
Аватара пользователя
Vlad04
новенький
 
Сообщения: 78
Зарегистрирован: 11.12.2007 21:11:19
Откуда: Караганда. Казахстан

Сообщение Brainenjii » 18.12.2007 18:12:42

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

UDP: http://www.opennet.ru/docs/RUS/gprof/
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение alexs » 18.12.2007 18:18:36

Vlad04
Для BP7 я с ним тоже работал
Именно оттуда и вынес суждение - что оптимизацию сначала надо прокрутить в голове.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Sergei I. Gorelkin » 18.12.2007 20:21:33

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

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

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

alexs
Насчет головы согласен на все 150%, но эти штуки иногда показывают такое, что меняет представления о сути вещей на корню.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1397
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Vlad04 » 19.12.2007 17:21:46

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

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


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

Сообщение Alexander » 20.12.2007 20:37:24

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


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

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

Другие версии (в виде архивов) это или релизы, или "снимки" SVN за какой то
момент времени.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение Vlad04 » 21.12.2007 18:19:13

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

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


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

Сообщение Attid » 21.12.2007 19:56:08

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

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

если хотишь svn версию и напряг с трафиком то поищи на форуме архив или спроси у ev где он лежит
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Alexander » 21.12.2007 23:24:27

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


В какой части ?
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение Vlad04 » 22.12.2007 07:53:53



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


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru