FPC на ARM
Модератор: Модераторы
-
Mirage
- энтузиаст
- Сообщения: 881
- Зарегистрирован: 06.05.2005 20:29:07
- Откуда: Russia
- Контактная информация:
FPC на ARM
Кто-нибудь использовал FPC для ARM? Конкретно под Андроидом.
Интересует как там с качеством кода обстоят дела.
Имеет ли смысл что-либо ресурсоёмкое писать под FPC, или только на C?
Сомнения в свете недавних сравнений Delphi с Java и даже Javascript возникают.
Интересует как там с качеством кода обстоят дела.
Имеет ли смысл что-либо ресурсоёмкое писать под FPC, или только на C?
Сомнения в свете недавних сравнений Delphi с Java и даже Javascript возникают.
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
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), проблемы с "урезанным" интерпретатором
PascalGUI, Паскаль на Android http://www.freepascal.ru/forum/viewtopic.php?f=1&t=6772
PS: Я так и не смог поставить fpc на Android (root), проблемы с "урезанным" интерпретатором
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
конкретный такой вопрос о качестве генерации кода FPC под Android
Имхо, бинарик генерированный fpc будет чуть больше аналогичного gcc, но его запросто можно пере компилировать под i386(linux) и даже возможно windows
Имеет ли смысл что-либо ресурсоёмкое писать под FPC, или только на C
Медиаконвертер для Android
Как известно в Android используется эмулятор регистровой байт машины. Все (практически) пользовательские приложения написаны на Java и транслированы в данный байт-код. FPC не умеет генерировать данный байт-код.
FPC генерирует код для ARM везде одинаково и он не зависит от типа ОС.
FPC генерирует код для ARM везде одинаково и он не зависит от типа ОС.
-
Mirage
- энтузиаст
- Сообщения: 881
- Зарегистрирован: 06.05.2005 20:29:07
- Откуда: Russia
- Контактная информация:
Имхо, бинарик генерированный 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 писал(а):Java давно обгоняет Delphi (а значит и FPC) по производительности на i386.
Британские ученые доказали?...
-
Mirage
- энтузиаст
- Сообщения: 881
- Зарегистрирован: 06.05.2005 20:29:07
- Откуда: Russia
- Контактная информация:
Max Rusov писал(а):Британские ученые доказали?...
Eric Grange - британец?
https://forums.embarcadero.com/thread.j ... tstart=120
http://delphihaters.blogspot.com/2011/0 ... elphi.html
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
http://delphihaters.blogspot.com/2011/03/scimark2-and-delphi.html
translate.google.ru
translate.google.ru
Лоис сказал ...
Просто мои 2 цента:
0) вы должны использовать "fastcode" библиотеки (http://fastcode.sourceforge.net/)
1) "Delphi" код далеко не оптимизированы
2) компилятор не настроен правильно (например, ложные ")
3) конфиг FastMM4 это "неизвестно", т.е. вы используете оптимизированный код?
4) Использование "GetTickCount" не нормально. Используйте "QueryPerformanceCounter" или по крайней мере "GetTickCount64" вместо
5) Отсутствие ООП на всех здесь.
6) Чисто "математические" не целью Delphi: Рассмотрим для сравнения языков с помощью "реальный случай / Обычный пользователь" приложения
7) ...
Cheers;)
Писали и не мало, как Linux ARM так и WinCE ARM. Только вот только анализом кода не занимались.
- coyot.rush
- постоялец
- Сообщения: 309
- Зарегистрирован: 14.08.2009 08:59:48
Некто ~roma~ http://4pda.ru/forum/index.php?showtopic=218734&st=0 писал 
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
В FPC один кодогенератор на всех. Генерирует "обобщенные" инструкции из небольшого набора, которые потом отображаются в набор инструкций конкретного процессора по возможности один-в-один. Когда один-в-один не получается, одна обобщенная инструкция превращается в несколько инструкций процессора. В среднем на ARM получится меньше инструкций, чем на i386, но разница отнюдь не на порядки.
