Об использовании FPU stack

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

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

Об использовании FPU stack

Сообщение Mirage » 03.10.2006 20:22:49

Интересная дискуссия в баг-репорте:
http://www.freepascal.org/mantis/view.php?id=7525

Странные отмазки разработчиков про какие-то скорости компиляторов и fwait'ы.
В Delphi компилятор компилит куда быстрее, а FPU-код получается тоже где-то раза в два шустрее FPC. Несмотря на упорно вставляемые fwait'ы. :)

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

Сообщение Sergei I. Gorelkin » 03.10.2006 21:02:50

У них просто немеряно других проблем, помимо производительности. А если сравнить ассемблерный код, получающийся с 2.0.4, с кодом, который делает 2.1.1, то разница весьма ощутима. И по скорости тоже...
Так что движение имеется, причем в верном направлении.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1397
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Юра » 03.10.2006 21:34:55

FPC разрабатывают люди в свое свободное время. А в свободное время хочется делать, то что тебе интересно в данный момент, а не то, чего хотят другие.

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

А еще лучше вытянуть текущий свн и начать ковыряться в сорцах FPC и, если хватит умения, сделать, то что тебе нужно самому.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение ev » 04.10.2006 07:21:02

есть еще вариант - финансировать разработку... тогда разработчики будут делать то, что тебе нужно ;)
ev
долгожитель
 
Сообщения: 1764
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение Юра » 04.10.2006 14:30:18

ev
Да, это тоже вариант.

Кстати, неделю назад в мейл листе Лазаруса было предложение сделать визуальное наследование форм за вознаграждение $300-$400.
На него сразу же откликнулся один из основных разработчиков Лазаруса и сейчас эта фича находится в активной разработке.

Разработчик сказал, что все равно эта фича в планах висит, так почему бы ее не сделать прямо сейчас за небесплатно... :)
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Mirage » 04.10.2006 16:19:32

Да я все понимаю и про проблемы и про некоммерческий характер. Поэтому и не на тамошнем форуме это пишу. :)
Просто хочется чтобы было все, да и отмазки таки странные.
А вообще продукт удивительно хорош.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Сообщение Юра » 04.10.2006 17:12:01

Про fwait'ы это было первоначальное предположение.
В дальнейшем выяснилось, что FPC не может использовать FPU стек на полную, т.к. это стек, а не набор регистров с прямым доступом как в SSE2 или как обычные процессорные регистры.
И ни у кого нет желания делать срочно работу со FPU стеком по весьма объективным причинам:
1. FPU - устаревший модуль и уступает по производительности SSE2.
2. FPU стек есть только в х86 и ни в каком другом процессоре из поддерживаемых.
3. Если нужно делать мега расчеты, то все равно логичнее компилить под SSE2 для максимально быстрого выполнения.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Mirage » 04.10.2006 18:02:45

А как компилить под SSE? Встроенный ассемблер не поддерживает его. Там даже с некоторыми P6-командами проблемы...
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Сообщение Sniper » 05.10.2006 01:38:09

Если я правильно понял вопрос, то вот так
{$FPUTYPE SSE}
{$FPUTYPE SSE2}
p.s поставить в начале каждого модуля
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Сергей Смирнов » 05.10.2006 10:15:11

Юра писал(а):ev
Да, это тоже вариант.

Кстати, неделю назад в мейл листе Лазаруса было предложение сделать визуальное наследование форм за вознаграждение $300-$400.
На него сразу же откликнулся один из основных разработчиков Лазаруса и сейчас эта фича находится в активной разработке.

Разработчик сказал, что все равно эта фича в планах висит, так почему бы ее не сделать прямо сейчас за небесплатно... :)
С ужасом жду, что из этого получится. Не шучу.
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение Юра » 05.10.2006 12:36:25

Вообще, чтоб компилить под SSE2 можно просто использовать ключик -Cfsse2

Сергей Смирнов
С ужасом жду, что из этого получится. Не шучу.

Почему так?
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Сергей Смирнов » 05.10.2006 12:39:12

Юра писал(а):Вообще, чтоб компилить под SSE2 можно просто использовать ключик -Cfsse2

Сергей Смирнов
С ужасом жду, что из этого получится. Не шучу.

Почему так?
Там в редакторе форм и так глюков хватает. А тут ТАКОЕ!
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение Юра » 05.10.2006 12:43:31

Ну может и глюки поправят, т.к. заказчик фичи не будет доволен, если все будет глючить больше чем сейчас :)
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Mirage » 05.10.2006 17:09:05

С ключами -Cfsse2 и -Cfsse получаю internal error 200506043 в казалось бы безобидной строке.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Сообщение Юра » 05.10.2006 18:39:36

Скорее всего нужно явно включить внешний ассемблер с помощью ключика -Aas
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

След.

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

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

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

Рейтинг@Mail.ru