Медленный компилятор FPC

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

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

Re: Медленный компилятор FPC

Сообщение Burster_TIL » 03.07.2015 17:21:15

Mikhail писал(а):Сам язык уже давно в кризисе, нормальных оптимизирующих компиляторов нет.
Delphi 7 неплох, но ему уже больше 10 лет и нет 64-разрядной версии и опять же только Intel, в наше время это очень плохо. Насчет качества компиляторов от Абракадары у меня большие сомнения. :(


Да, мало ли кто там что напишет в попытка что-то предсказать. Компиляторы от Embarcadero сейчас бурно развиваются. Уже наваяли тучу версий. На месте не стоят, однозначно. А, чтобы не было сомнений, проще взять их среду и поработать. Собственно я как-то так и поступил, когда нужно было написать программу для рентгеновского сканера, который даёт оооочень большие изображения и Win32 для этого будет не хватать. Во всех остальных случаях, хватает Win32. В планах сделать софт для скоростной камеры без встроенной памяти для залива контента прямо в ОЗУ РС. Вот тут тоже понадобится Win64. Но, до этого пока руки не дошли.
Burster_TIL
новенький
 
Сообщения: 46
Зарегистрирован: 25.09.2013 02:05:28

Re: Медленный компилятор FPC

Сообщение скалогрыз » 03.07.2015 17:21:21

Burster_TIL писал(а):Не нужно так однобоко смотреть на вопрос

Всё зависит от формулировки вопроса.
Если вопрос стоит как: "почему FPC делает код, более медленный, чем Delphi.", я считаю, что тут имеет смысл привлечь все свои инжинерные навыки.

Burster_TIL писал(а): Я вот сейчас пишу софт для своей скоростной камеры. Спрашивается, нужно ли мне колупаться в исходниках D7 или FPC? Нет, конечно. Да и не хватит у меня на это времени. У меня задача сделать ПО для данной камеры с тем или иным функционалом.

дык... может потребить дальше и найти библиотеки на Си для обработки изображения? :) т.к. они скомплированы на Си, то есть большой шанс, что работают они быстрее чем delphi и fpc :)

Добавлено спустя 3 минуты 41 секунду:
Burster_TIL писал(а):Собственно я как-то так и поступил, когда нужно было написать программу для рентгеновского сканера, который даёт оооочень большие изображения и Win32 для этого будет не хватать. Во всех остальных случаях, хватает Win32. В планах сделать софт для скоростной камеры без встроенной памяти для залива контента прямо в ОЗУ РС. Вот тут тоже понадобится Win64. Но, до этого пока руки не дошли.

Замечу только, что всё это завязано на внешних библиотеках (внезапно - DirectX), и язык основной программы на производительность мало (никак) не скажется.

Кстати а что такое Win64? ты про API говоришь или про 64-битную винду?
скалогрыз
долгожитель
 
Сообщения: 1756
Зарегистрирован: 03.09.2008 02:36:48

Re: Медленный компилятор FPC

Сообщение Burster_TIL » 03.07.2015 17:25:19

скалогрыз писал(а):Да это важно. Как я постил раньше, оптимизатор делфи, может выкинуть инструкцию f:=f*i
В примере, который я прислал, он не может так сделать, потому что результат тоже выводится на экран.

Если ты будешь выводить результат f, после цикла куда-нибудь, то твои временные замеры, возможно, тоже поменяются.


Не вопрос, сделал вывод в TMemo и t и f. На быстродействие D7 никак не сказалось.

Добавлено спустя 1 минуту 34 секунды:
скалогрыз писал(а):дык... может потребить дальше и найти библиотеки на Си для обработки изображения? :) т.к. они скомплированы на Си, то есть большой шанс, что работают они быстрее чем delphi и fpc :)


Обработка изображения не далеко не всё. Но, IPL & IJL я там использую.
Burster_TIL
новенький
 
Сообщения: 46
Зарегистрирован: 25.09.2013 02:05:28

Re: Медленный компилятор FPC

Сообщение Mikhail » 03.07.2015 17:28:24

Burster_TIL писал(а):Уже наваяли тучу версий. На месте не стоят, однозначно.


Ну расширений в язык понапихали (весьма спорных, кстати), а как там обстоит дело с качеством генерируемого кода? Когда я смотрел XE2, так он, ИМХО был хуже Delphi 7. :(
Mikhail
энтузиаст
 
Сообщения: 544
Зарегистрирован: 24.10.2013 16:06:47

Re: Медленный компилятор FPC

Сообщение Burster_TIL » 03.07.2015 17:28:56

скалогрыз писал(а):Замечу только, что всё это завязано на внешних библиотеках (внезапно - DirectX), и язык основной программы на производительность мало (никак) не скажется.

Кстати а что такое Win64? ты про API говоришь или про 64-битную винду?


DirectX в данном случае вовсе не используется-) Да Win64 это и есть 64-х разрядный API

Добавлено спустя 1 минуту 9 секунд:
Mikhail писал(а):Ну расширений в язык понапихали (весьма спорных, кстати), а как там обстоит дело с качеством генерируемого кода? Когда я смотрел XE2, так он, ИМХО был хуже Delphi 7. :(


Да, в плане скорости на тестах он меня не порадовал. Но там есть ещё 3-8 версии.

Добавлено спустя 1 минуту 29 секунд:
Mikhail писал(а):Но почему Паскаль!!!


Удобен, быстр, куча сторонних компонентов и библиотек.
Давно на него подсел. Ещё в эпоху ДОС.
Burster_TIL
новенький
 
Сообщения: 46
Зарегистрирован: 25.09.2013 02:05:28

Re: Медленный компилятор FPC

Сообщение скалогрыз » 03.07.2015 17:31:44

Burster_TIL писал(а):Не вопрос, сделал вывод в TMemo и t и f. На быстродействие D7 никак не сказалось.

лучше скомпилируй тот текст который я прислал.

Делается это так.
File -> New -> Other...
Console Application

Октрывается редактор текста.
Туда копируешь код
Код: Выделить всё
    {$apptype console}

    {$ifdef FPC}
      {$mode delphi}
    {$endif}

    FUNCTION Get__RDTSC:Int64;ASSEMBLER;REGISTER;
    Asm
      RDTSC
    End;

    function DoTest(var res: double): Int64;
    var
      f: double;
      i :integer;
      t1,t2 : Int64;
    Begin
      f:=0;
      T1:=Get__RDTSC;
      for i:=0 to 1000 do
        f:=f*i;
      T2:=Get__RDTSC;
      Result:=T2-T1;
      res:=f;
    end;

    var
      f : double;
      t : Int64;
    begin
      t:=DoTest(f);
      writeln(t);
      writeln(f:0:4);
    end.

Сохраняешь проект с именем project1 на диске c:\delphifloattest.
Компилируешь.
Открываешь командную строку (нажатием клавиши Win+R, а в открывимся диалоге вводишь cmd)
в консольной окошечке вводишь
Код: Выделить всё
cd c:\delphifloattest
project1.exe
скалогрыз
долгожитель
 
Сообщения: 1756
Зарегистрирован: 03.09.2008 02:36:48

Re: Медленный компилятор FPC

Сообщение Burster_TIL » 03.07.2015 17:35:54

скалогрыз писал(а):Сохраняешь проект с именем project1 на диске c:\delphifloattest.
Компилируешь.
Открываешь командную строку (нажатием клавиши Win+R, а в открывимся диалоге вводишь cmd)
в консольной окошечке вводишь


Сделал. Получил 11336, но никак не 18000
Burster_TIL
новенький
 
Сообщения: 46
Зарегистрирован: 25.09.2013 02:05:28

Re: Медленный компилятор FPC

Сообщение Mikhail » 03.07.2015 17:40:35

Burster_TIL писал(а):Удобен, быстр, куча сторонних компонентов и библиотек.

удобен? - согласен
быстр? - в смысле компилирует быстро? - да, а вот качество кода среднее (это для Delphi 7)
много сторонних библиотек? - так для С и С++ их еще больше!
Mikhail
энтузиаст
 
Сообщения: 544
Зарегистрирован: 24.10.2013 16:06:47

Re: Медленный компилятор FPC

Сообщение скалогрыз » 03.07.2015 17:42:10

Burster_TIL писал(а):Сделал. Получил 11336, но никак не 18000

конкретная модель процессора.

Добавлено спустя 2 минуты 16 секунд:
Mikhail писал(а):удобен? - согласен
быстр? - в смысле компилирует быстро? - да, а вот качество кода среднее (это для Delphi 7)
много сторонних библиотек? - так для С и С++ их еще больше!

а я предупреждал!
скалогрыз писал(а):...И на данный момент эта тема - пустое сотрясения воздуха, плавно перетекающее в обычный срач.

:mrgreen: :mrgreen: :mrgreen:
скалогрыз
долгожитель
 
Сообщения: 1756
Зарегистрирован: 03.09.2008 02:36:48

Re: Медленный компилятор FPC

Сообщение Burster_TIL » 03.07.2015 17:46:17

Mikhail писал(а):удобен? - согласен
быстр? - в смысле компилирует быстро? - да, а вот качество кода среднее (это для Delphi 7)
много сторонних библиотек? - так для С и С++ их еще больше!


И компилирует быстро и код делает шустрый. На счёт сторонних библиотек что их больше для С++, я бы очень усомнился. Есть ли хороший аналог например для Imageen для VC? Не попадалось. Но, это так - пример.

Добавлено спустя 44 секунды:
скалогрыз писал(а):конкретная модель процессора.


i7 920 Bloomfield

Добавлено спустя 24 секунды:
скалогрыз писал(а):а я предупреждал!


Я этот срач не затевал.
Burster_TIL
новенький
 
Сообщения: 46
Зарегистрирован: 25.09.2013 02:05:28

Re: Медленный компилятор FPC

Сообщение Mikhail » 03.07.2015 17:50:14

Burster_TIL писал(а): На счёт сторонних библиотек что их больше для С++, я бы очень усомнился.

Напрасно... С, С++, Fortran тут лидеры
Mikhail
энтузиаст
 
Сообщения: 544
Зарегистрирован: 24.10.2013 16:06:47

Re: Медленный компилятор FPC

Сообщение скалогрыз » 03.07.2015 17:50:52

Burster_TIL писал(а):Добавлено спустя 44 секунды:
скалогрыз писал(а):конкретная модель процессора.

i7 920 Bloomfield

это был не вопрос (т.к. ты на него ещё раньше ответил), а утверждение.
потому что циклы с integer-ом на твоё процессоре и на моём (Intel(R) Core(TM)2 CPU 6600) дают примерно одно и тоже время. А вот FPU разное.
Но только потому что у тебя процессор заточен под FPU больше, чем мой.
скалогрыз
долгожитель
 
Сообщения: 1756
Зарегистрирован: 03.09.2008 02:36:48

Re: Медленный компилятор FPC

Сообщение Burster_TIL » 03.07.2015 17:54:19

Mikhail писал(а):Напрасно... С, С++, Fortran тут лидеры


Ну примеры хранилищ данных библиотек в студию. Ссылку какую-нить.

Добавлено спустя 3 минуты 12 секунд:
скалогрыз писал(а):это был не вопрос (т.к. ты на него ещё раньше ответил), а утверждение.
потому что циклы с integer-ом на твоё процессоре и на моём (Intel(R) Core(TM)2 CPU 6600) дают примерно одно и тоже время. А вот FPU разное.
Но только потому что у тебя процессор заточен под FPU больше, чем мой


На досуге (если представится) дома проверю. Там много разных РС. Ладно, пошёл я допиливать далее код для камеры. За одно и что-нить поснимаю во время отладки на частотах 5000 кадров в сек.
Burster_TIL
новенький
 
Сообщения: 46
Зарегистрирован: 25.09.2013 02:05:28

Re: Медленный компилятор FPC

Сообщение Mikhail » 03.07.2015 18:41:59

Burster_TIL писал(а):Ну примеры хранилищ данных библиотек в студию. Ссылку какую-нить.

libpng, libjpeg,libtiff, zlib,... да прорва их! linux, unix, windows и львиная доля ссфта для них. Микроконтроллеры 95% либо С и С++ либо ассемблер.
Mikhail
энтузиаст
 
Сообщения: 544
Зарегистрирован: 24.10.2013 16:06:47

Re: Медленный компилятор FPC

Сообщение Burster_TIL » 03.07.2015 18:49:14

Mikhail писал(а):libpng, libjpeg,libtiff, zlib,... да прорва их! linux, unix, windows и львиная доля ссфта для них. Микроконтроллеры 95% либо С и С++ либо ассемблер.


Ну, а теперь загляни сюда http://www.torry.net/, и, как говорится, ощути разницу.

Добавлено спустя 57 секунд:
Burster_TIL писал(а):libpng, libjpeg,libtiff, zlib,... да прорва их! linux, unix, windows и львиная доля ссфта для них. Микроконтроллеры 95% либо С и С++ либо ассемблер.


А под микроконтроллеры (я использую AVR) есть E-Lab Pascal, MikroPascal. К ним даже есть Basic.
Burster_TIL
новенький
 
Сообщения: 46
Зарегистрирован: 25.09.2013 02:05:28

Пред.След.

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

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

Сейчас этот форум просматривают: BALI и гости: 7

Рейтинг@Mail.ru