IPB
ЛогинПароль:

> FPC 2.4.2
volvo
сообщение 16.11.2010 9:24
Сообщение #1


Гость






12 ноября 2010 вышла новая версия FPC: 2.4.2

Немного об изменениях:
1. Введены ключевые слова Abstract и Sealed для классов, то есть, теперь конструкции "class abstract" и "class sealed" распознаются как спецификатор класса, и невозможно уже иметь в классах переменные с подобными именами:

type
T = class
Abstract: Integer;
end;

, хотя 2.4.0 это компилировал.

2. В класс TObject введены методы UnitName, Equals, GetHashCode, ToString для большей совместимости с Дельфи (в Дельфи эти методы существуют, начиная с 2009 версии)

3. Заявлено наличие давно обсуждаемого цикла for ... in , посмотрим, работает ли он на самом деле.

Есть также изменения в расположении некоторых модулей (Daemonapp, MacOSAll и DOM, а также модуля Sockets)...

Об основных изменениях можно прочесть здесь (англ): User Changes 2.4.2


Чуть позже погоняю этот компилятор на тестах, и посмотрю, как у него с исправлениями старых ошибок.


Update:
Вот результаты того же самого теста SciMark2
(Intel Core2 CPU 4400 @2GHz + 1024 Mb RAM, WinXP SP3. Настройки компиляторов: режим совместимости - Delphi, Range Checking (-), Stack Checking (+), I/O Checking (-), Integer Overflow Checking (+), генерировался быстрый код (generate faster code) для процессора Pentium4, Level 1 Optimization)

Без ключа -Large (Показать/Скрыть)

С ключом -Large (Показать/Скрыть)

И опять - довольно ощутимое увеличение быстродействия по сравнению с 2.4.0...
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 16.11.2010 16:12
Сообщение #2


Гость






Теперь - результаты еще одного теста. Когда-то мы с его помощью тестировали быстродействие разных компиляторов Паскаля друг относительно друга, сейчас мне просто интересно как FPC ведет себя от версии к версии, что ускоряется, в что замедляется.. Итак, тест вычисляет скорости следующих операций (сравнивались компиляторы 2.2.0 и 2.4.2) :
  1. Доступ к члену класса (109 итераций).
  2. Вызов пустого статического метода (109 итераций).
  3. Вызов пустого динамического метода (109 итераций).
  4. Быстрая сортировка массива (Quick Sort, 108 байт).
  5. Пузырьковая сортировка массива(Bubble Sort, 150000 байт)
  6. "Древесная" сортировка массива (Tree Sort, 106 байт).
  7. Вычисление 4500 цифр числа Пи.
  8. Скорость конкатенации строк (106 итераций).
  9. Тесты скорости вещественных вычислений (109 итераций).
(тестировалось на Intel Core2 CPU 4400 @2GHz + 1024 Mb RAM, WinXP SP3. Настройки компиляторов: Range Checking (+), Stack Checking (+), I/O Checking (-), Integer Overflow Checking (+), генерировался быстрый код (generate faster code) для процессора Pentium4, Level 1 Optimization, режимы совместимости - ObjFPC и Delphi соосветственно)

Результаты:

FPC 2.2.0
(совместимость)		Delphi	FPC
Member access 11500 11500
Method call 53547 53547
Virtual method call 58062 58031
Quick sort 2375 2375
Bubble sort 45734 45719
Tree sort 313 312
PI computation 343 344
String concat. 328 94
Floating point 30016 30016
Strange attr. 6781 6203


FPC 2.4.2
(совместимость)		Delphi	FPC
Member access 4508 5015
Method call 4516 4500
Virtual method call 12109 12078
Quick sort 906 906
Bubble sort 11922 11890
Tree sort 219 203
PI computation 328 328
String concat. 344 110
Floating point 18531 18515
Strange attr. 2140 2141



Если интересно, могу этот же тест прогнать с другими компиляторами (Дельфи, Virtual Pascal, GPC)
 К началу страницы 
+ Ответить 

Сообщений в этой теме
volvo   FPC 2.4.2   16.11.2010 9:24
volvo   Теперь - результаты еще одного теста. Когда-то мы ...   16.11.2010 16:12
Polinom2686   Если интересно, могу этот же тест прогнать с друг...   19.11.2010 16:11
Гость   Какая версия дельфи, и почему трёхкратный слив по ...   19.11.2010 17:23
volvo   TarasBer, ты читать умеешь? Там русским языком нап...   19.11.2010 17:42
Гость   А, понял. Тогда почему 2.4.2 втрое делает 2.2.0 по...   19.11.2010 18:01
volvo   Может, потому что новая версия и должна быть как м...   19.11.2010 18:10
Гость   > Может, потому что новая версия и должна быть ...   19.11.2010 18:14
Гость   > В общем, передумал я делать новые тесты. Все ...   19.11.2010 18:27
volvo   Значит, вот результаты тестов четырех компиляторов...   20.11.2010 0:40
Polinom2686   Особенно впечатлил результаты теста "Floating...   20.11.2010 8:15
volvo   Мне кажется, ты неправильно интерпретируешь резуль...   20.11.2010 11:29
Polinom2686   Мне кажется, ты неправильно интерпретируешь резул...   20.11.2010 22:14
TarasBer   Про вещественные числа интересно. У всех, кроме Де...   20.11.2010 12:40
volvo   Кстати, в режиме оптимизации -O3 FreePascal научил...   21.11.2010 0:21
Aelita   Интересные данные! Немного жаль, что в последн...   27.11.2010 21:35
volvo   Aelita, какие компиляторы и какие их параметры теб...   28.11.2010 21:48
Aelita   Гран мерси! :good: Меня как раз интересова...   30.11.2010 3:35
Игорь   Случайно мышкой изменил размер окна FPC и теперь н...   10.12.2010 20:55
volvo   Ну, раз какая-то ошибка - то что-то делать... Буде...   10.12.2010 21:23
Игорь   Options-Environment-Preferences... Вот это сообще...   10.12.2010 21:29
volvo   А зачем тебе ТАМ менять размеры, если ты ТУДА не з...   10.12.2010 21:54
Гость   Спасибо. Даже не знал, что там такое есть.   11.12.2010 12:44


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 16:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"