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

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

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

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

Сообщение Padre_Mortius »

На каком процессоре компилировалось?
Mirage
энтузиаст
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

Core2 duo. На P3 Celeron тоже самое.
Аватара пользователя
*vmr
постоялец
Сообщения: 168
Зарегистрирован: 08.01.2007 00:46:07
Откуда: Киев
Контактная информация:

Сообщение *vmr »

А асм-листинги кто нибудь сравнивал?
(эх, мне еще два часа сидеть на работе...)
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

хм. попробуй пересобрать fpc из исходников. Только binutils нужно будет взять с оф. сайта.
Mirage
энтузиаст
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

Вобщем есть свежий fpcbuild. А что дальше делать?
Ни одного readme нет. Инфы как его устанавливать тоже не нашелю.
Make install сделал, а дальше?
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

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 »

Совсем забыл по последний шаг. Вернуть наши 45 файлов в конечную папку fpc (только не надо файл ppc386.exe переписывать)
Mirage
энтузиаст
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

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

2.3.1 компилирует без бага, так что отзову баг...
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

шаг make all можно пропускать и сразу делать make install. Make install и скомпилит и положит куда нужно
Mirage
энтузиаст
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

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

Сообщение Mirage »

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

Сообщение bw »

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

..bw
Mirage
энтузиаст
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

Вроде как-то компилировал 2.2.0 - было заметно быстрее, но с визуальными артефактами. Может за счет них.
Можно скачать с http://www.casteng.com/ru сорсы движка и демок и скомпилировать. У меня Delphi7/2007 получается чуть быстрее, хотя в синтетическом FPU-тесте FPC рвет Delphi.:)
Может я настройки какие-то не такие делаю, хотя даже SSE3 включаю.
vital
новенький
Сообщения: 86
Зарегистрирован: 17.10.2007 14:52:59

Сообщение vital »

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


Ага, помню этот синтетический FPU-тест на Геймдеве, ибо это я разбором асм-листингов от разных компилеров занимался, - может кто помнит:)
ИМХО, собака порылась в менеджере памяти Фри Паскаля - он того..., похуже FastMM, судя по всему будет, и на реальных задачах, где синтетика уже не катит, делает своё черное дело:)) Но это пока предположение, проверить тестами руки всё никак не доходят. Вот и получается, что Дельфа, фактически не оптимизирующая операции с FPU делает FPC, эти самые оптимизации производящий:) Парадокс, однако:)
Mirage
энтузиаст
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

Менеджер памяти это врядли, т.к. я в движке память в рантайме практически не выделяю. Дурной тон все-таки.
Да и при включении/выключении FastMM FPS не меняется.
Ответить