FPC на ARM

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

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

FPC на ARM

Сообщение Mirage » 01.05.2011 14:34:42

Кто-нибудь использовал FPC для ARM? Конкретно под Андроидом.
Интересует как там с качеством кода обстоят дела.
Имеет ли смысл что-либо ресурсоёмкое писать под FPC, или только на C?
Сомнения в свете недавних сравнений Delphi с Java и даже Javascript возникают.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: FPC на ARM

Сообщение coyot.rush » 01.05.2011 15:17:50

FPC+Android http://www.freepascal.ru/forum/viewtopic.php?f=1&t=5975&st=0&sk=t&sd=a
PascalGUI, Паскаль на Android http://www.freepascal.ru/forum/viewtopic.php?f=1&t=6772
PS: Я так и не смог поставить fpc на Android (root), проблемы с "урезанным" интерпретатором :oops:
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FPC на ARM

Сообщение Mirage » 01.05.2011 22:40:43

Спасибо, хотя вопрос и не о том.
А конкретный такой вопрос о качестве генерации кода FPC под Android.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: FPC на ARM

Сообщение coyot.rush » 01.05.2011 23:02:45

конкретный такой вопрос о качестве генерации кода FPC под Android

Имхо, бинарик генерированный fpc будет чуть больше аналогичного gcc, но его запросто можно пере компилировать под i386(linux) и даже возможно windows
Имеет ли смысл что-либо ресурсоёмкое писать под FPC, или только на C

Медиаконвертер для Android :?: Главный тормоз на Android это Java :evil:
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FPC на ARM

Сообщение Mr.Smart » 01.05.2011 23:04:05

Как известно в Android используется эмулятор регистровой байт машины. Все (практически) пользовательские приложения написаны на Java и транслированы в данный байт-код. FPC не умеет генерировать данный байт-код.
FPC генерирует код для ARM везде одинаково и он не зависит от типа ОС.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: FPC на ARM

Сообщение Mirage » 02.05.2011 01:00:32

Имхо, бинарик генерированный fpc будет чуть больше аналогичного gcc, но его запросто можно пере компилировать под i386(linux) и даже возможно windows


Да пусть будет больше. Меня скорость волнует.

Медиаконвертер для Android Главный тормоз на Android это Java


Медиаконвертеров и так как грязи. Я по привычке графикой собираюсь заниматься. Софтовой и аппаратной.
Приличная GUI-библиотека у меня даже есть. Не зависит от того, кто и как будет её контролы рисовать, но написана на Паскале.
Вот и думаю.
Насчет тормозов Java и особенно Dalvik не уверен. Java давно обгоняет Delphi (а значит и FPC) по производительности на i386. И даже Javascript обгоняет, что вообще уже ни в какие ворота не лезет.
Самое печальное, что перспектив изменения этой ситуации никаких нет. Embarcadero тут проблемы вообще не видит. У команды FPC был замечательный шанс прикрутить поддержку LLVM, но, похоже, это никому не нужно. Хотя это решило бы проблему.
Для PC это еще ладно, там все равно в основном вызовы API, да и мощи достаточно, но на Андроиде это уже неприемлимо. Больно разные девайсы.

Как известно в Android используется эмулятор регистровой байт машины. Все (практически) пользовательские приложения написаны на Java и транслированы в данный байт-код. FPC не умеет генерировать данный байт-код.


А еще вода мокрая, ага.

FPC генерирует код для ARM везде одинаково и он не зависит от типа ОС.


Мой вопрос, собственно, и состоял в том, как он его генерирует?
Как для i386, или, может быть, более эффективный? Все таки ARM вроде более прямая вещь, нежели i386 и вменяемый кодогенератор написать для ARM должно быть проще.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: FPC на ARM

Сообщение Max Rusov » 02.05.2011 13:02:34

Mirage писал(а):Java давно обгоняет Delphi (а значит и FPC) по производительности на i386.

Британские ученые доказали?...
Max Rusov
постоялец
 
Сообщения: 191
Зарегистрирован: 25.04.2009 15:46:03

Re: FPC на ARM

Сообщение Mirage » 02.05.2011 14:34:36

Max Rusov писал(а):Британские ученые доказали?...


Eric Grange - британец?
https://forums.embarcadero.com/thread.j ... tstart=120
http://delphihaters.blogspot.com/2011/0 ... elphi.html
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: FPC на ARM

Сообщение coyot.rush » 02.05.2011 19:58:13

http://delphihaters.blogspot.com/2011/03/scimark2-and-delphi.html
translate.google.ru
Лоис сказал ...

Просто мои 2 цента:

0) вы должны использовать "fastcode" библиотеки (http://fastcode.sourceforge.net/)
1) "Delphi" код далеко не оптимизированы
2) компилятор не настроен правильно (например, ложные ")
3) конфиг FastMM4 это "неизвестно", т.е. вы используете оптимизированный код?
4) Использование "GetTickCount" не нормально. Используйте "QueryPerformanceCounter" или по крайней мере "GetTickCount64" вместо
5) Отсутствие ООП на всех здесь.
6) Чисто "математические" не целью Delphi: Рассмотрим для сравнения языков с помощью "реальный случай / Обычный пользователь" приложения
7) ...
Cheers;)
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FPC на ARM

Сообщение Mirage » 02.05.2011 21:40:30

Все пункты мимо.
Но все таки хотелось бы по теме.
Вобщем, как я понял, под АРМ никто не писал...
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: FPC на ARM

Сообщение Mr.Smart » 02.05.2011 21:48:14

Писали и не мало, как Linux ARM так и WinCE ARM. Только вот только анализом кода не занимались.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: FPC на ARM

Сообщение coyot.rush » 02.05.2011 21:50:31

Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FPC на ARM

Сообщение Sergei I. Gorelkin » 02.05.2011 22:46:52

В FPC один кодогенератор на всех. Генерирует "обобщенные" инструкции из небольшого набора, которые потом отображаются в набор инструкций конкретного процессора по возможности один-в-один. Когда один-в-один не получается, одна обобщенная инструкция превращается в несколько инструкций процессора. В среднем на ARM получится меньше инструкций, чем на i386, но разница отнюдь не на порядки.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград


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

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

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

Рейтинг@Mail.ru