Баг в оптимизаторе?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Сообщение Padre_Mortius » 11.04.2008 18:53:33

На каком процессоре компилировалось?
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Mirage » 11.04.2008 19:24:23

Core2 duo. На P3 Celeron тоже самое.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Сообщение *vmr » 11.04.2008 19:29:04

А асм-листинги кто нибудь сравнивал?
(эх, мне еще два часа сидеть на работе...)
Аватара пользователя
*vmr
постоялец
 
Сообщения: 168
Зарегистрирован: 08.01.2007 01:46:07
Откуда: Киев

Сообщение Padre_Mortius » 11.04.2008 19:31:55

хм. попробуй пересобрать fpc из исходников. Только binutils нужно будет взять с оф. сайта.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Mirage » 11.04.2008 20:02:20

Вобщем есть свежий fpcbuild. А что дальше делать?
Ни одного readme нет. Инфы как его устанавливать тоже не нашелю.
Make install сделал, а дальше?
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Сообщение Padre_Mortius » 11.04.2008 20:39:51

1. копируешь папку с исходниками fpc в корневую папку
2. распаковываешь файлы из архива binutils
3. из папки fpc/bin/i386-win32 выбираешь файлы у которых дата создания не равна дате создания ppc386.exe. Их будет около 45 (вместе с дебаггером и fpc.cfg )
4. заходишь в папку с исходниками и набираешь "путь к binutils\make.exe install"
5. самое главное чтобы конечной папки для fpc не существовало, иначе выругается и остановит процесс установки. Она прописана в fpc.cfg
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius » 11.04.2008 20:41:22

Совсем забыл по последний шаг. Вернуть наши 45 файлов в конечную папку fpc (только не надо файл ppc386.exe переписывать)
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Mirage » 11.04.2008 20:47:47

Спасибо, но неактульно уже.
Всего-то надо make all в корневом FPCBuild'a, а затем make install. Компилятор инсталлируется в папку pp в корне диска. Очень остроумно.:)

2.3.1 компилирует без бага, так что отзову баг...
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Сообщение Padre_Mortius » 11.04.2008 20:51:47

шаг make all можно пропускать и сразу делать make install. Make install и скомпилит и положит куда нужно
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Mirage » 11.04.2008 20:52:45

Я сперва так и делал. Может не заметил папки pp.:)
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Сообщение Mirage » 11.04.2008 21:04:40

Глюки в проекте от оптимизации тоже исчезли. Правда и толку от нее немного...
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Сообщение bw » 12.04.2008 12:38:19

А когда глюк присутствовал оптимизация была лучше? Т.е. код выполнялся быстрее?

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Сообщение Mirage » 12.04.2008 13:07:29

Вроде как-то компилировал 2.2.0 - было заметно быстрее, но с визуальными артефактами. Может за счет них.
Можно скачать с http://www.casteng.com/ru сорсы движка и демок и скомпилировать. У меня Delphi7/2007 получается чуть быстрее, хотя в синтетическом FPU-тесте FPC рвет Delphi.:)
Может я настройки какие-то не такие делаю, хотя даже SSE3 включаю.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re:

Сообщение vital » 16.05.2008 22:58:37

Mirage писал(а):Вроде как-то компилировал 2.2.0 - было заметно быстрее, но с визуальными артефактами. Может за счет них.
Можно скачать с http://www.casteng.com/ru сорсы движка и демок и скомпилировать. У меня Delphi7/2007 получается чуть быстрее, хотя в синтетическом FPU-тесте FPC рвет Delphi.:)
Может я настройки какие-то не такие делаю, хотя даже SSE3 включаю.


Ага, помню этот синтетический FPU-тест на Геймдеве, ибо это я разбором асм-листингов от разных компилеров занимался, - может кто помнит:)
ИМХО, собака порылась в менеджере памяти Фри Паскаля - он того..., похуже FastMM, судя по всему будет, и на реальных задачах, где синтетика уже не катит, делает своё черное дело:)) Но это пока предположение, проверить тестами руки всё никак не доходят. Вот и получается, что Дельфа, фактически не оптимизирующая операции с FPU делает FPC, эти самые оптимизации производящий:) Парадокс, однако:)
vital
новенький
 
Сообщения: 86
Зарегистрирован: 17.10.2007 14:52:59

Re: Баг в оптимизаторе?

Сообщение Mirage » 17.05.2008 09:45:02

Менеджер памяти это врядли, т.к. я в движке память в рантайме практически не выделяю. Дурной тон все-таки.
Да и при включении/выключении FastMM FPS не меняется.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Пред.След.

Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru