Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Embarcadero RAD Studio XE3

Автор: Arioch1
Дата сообщения: 11.12.2012 15:38

Цитата:
according to my private e-mail with Marco Cantu Upd. 1 isn't even official yet!

He expects a QC fixes list as well.


Жгут, гады!

https://forums.embarcadero.com/message.jspa?messageID=515794


Цитата:
>Most stable Delphi that I've seen for a good while.

Worse compiler since D2009 IME, which admittedly was an improvement over
D2005. XE3 was a definite step back from XE & XE2.
Internal Compiler Errors galore.


Добавлено:
а ради прикола запустить JS-тест в DWScript in XE2 ?
а то автор же хвалился вроде :-D
Автор: sergionn
Дата сообщения: 11.12.2012 16:32
Мои мысли:
У firemonkey жутко неоптимизированный (скоро-быдло) код, использующий в основном вычисления с плавающей точкой,
а поскольку компилер у делфи никакой и оптимизации по sse там чисто символические (а в x32 вообще используются допотопные инструкции),
то если бы они подсуетились и выпустили delphi на llmv для windows побыстрее,
(т.к. весь код обезьяны на паскале)
то реально бы получился стоящий фреймворк, к которому бы сразу потянулись независимые разработчики, да и те кто давно ушел с дельфей......
это мое имхо............
Автор: deks
Дата сообщения: 11.12.2012 16:35
Arioch1

Почему JS тест на DWScript? Там же Паскаль!) ну и да, я собирался потестить на SmartMS)
Автор: sergionn
Дата сообщения: 11.12.2012 16:44
что dwscript что smartms,
это будут тот же делфи и javascript соответственно, только через ж*пу..........
в первом случае транслируется в бинарник дельфи, во втором в js браузера..........
какой смысл этих тестов........
Автор: Arioch1
Дата сообщения: 11.12.2012 16:47
deks
перепутал ег ос каким-то рдугим, где был PascalScript + JavaScript плюс ещё какой-то.

Тогда забей.
Автор: sergionn
Дата сообщения: 11.12.2012 16:54
По тесту Mandelbrot с этого примера: http://delphitools.info/2011/03/24/kudos-to-the-firefox-4-tracemonkey-team/
если скомпилировать пример на delphi на xe3 под x64, заставив использовать регистры sse
и убрать ассемблер,
то тест у меня выполняется 75мс х 480линий, против 84мс x 480 на Chrome
Автор: Arioch1
Дата сообщения: 11.12.2012 18:27
у кого есть XE3 и XE3 update 1 (если есть разница)

можете засветить function GetDispatchInvokeArgs из System.Variants.pas ?

Лучше наверное на http://pastebin.ca чтобы тут не мусорить

PS. как же не хочется пересобирать RTL160.BPL... да и патчить тоже не очень...
Автор: vez
Дата сообщения: 11.12.2012 19:38

Цитата:
можете засветить function GetDispatchInvokeArgs из System.Variants.pas ?

Там нет такой, видимо переместили куда-то
Смотрел в ХЕ3 апдейт 1
Sorry, нашёл, выложу №2291513
Автор: deks
Дата сообщения: 12.12.2012 07:09
потестил SmartMS 1.0.1.122 (последний):

OS X:
- Chrome 24.0.1312.36 beta: 7 sec / 17 sec
- Safari 6.0.2 : 16 sec / 10 sec

Win7:
- Chrome 23.0.1271.95 : 7 sec / 18 sec
- встроенный в SmartMS браузер Webkit: 7 sec / 25 sec




Добавлено:
sergionn

Если что, то SmartMS базируется на DWScript, просто в SmartMS встроен CodeGen в JS. Но фронтэнд этого "компилятора" - это DWScript. Просто за деньи в SmartMS продается IDE, RTL и backend, компилирующий DWS-скрипты в JS.

В чем смысл тестов? В тестировании! Оч интересно, что с поддержкой double в Delphi и вправду плохо))

Ну и мне стало интересным таки попробовать .NET и Java))
Автор: sergionn
Дата сообщения: 12.12.2012 07:27

Цитата:
Если что, то SmartMS базируется на DWScript, просто в SmartMS встроен CodeGen в JS

а ребята то и "не знали"

deks
ты бы еще выложил результат c xe3, на твоем пк, для полноты картины......
И что-то мне не нравится результат у smartms: что он там с кодом делает такого?
или может сам webkit с лета (когда вышел посл.смарт) в текущем хроме сильно оптимизировали...........
Автор: deks
Дата сообщения: 12.12.2012 08:17
sergionn

Нету xe3 - если кто скомпилирует и выложит exe - то запущу на своей машине!
Автор: Arioch1
Дата сообщения: 12.12.2012 11:36

Цитата:
может сам webkit с лета (когда вышел посл.смарт) в текущем хроме сильно оптимизировали


вебкит не имеет никакого отнощения к JavaScript

Java-движок - отдельная библиотека. И они разные у Savari и Chrome

Это примерно как сказать "что-то Firebird стал быстрее работать, наверное что-то в VCL поправили"
Да, в некоторых тестах, которые все в кучу смешивают, такой эффект возможен. Но вообще - это чушь.

Добавлено:

Цитата:
Там нет такой, видимо переместили куда-то

Странно, Андреас написал, что не изменилась, т.е. он её нашел.
Автор: deks
Дата сообщения: 12.12.2012 11:50
Ссумирую результаты своего тестирования
updated 13 дек - .NET тесты Oxygene:
updated 14 дек - тесты с SmartMS + Node-Webkit, Oxygene for Java:

Oxygene Nougat.1137, OSX10.8, (exe - 10kb): 4.8 sec / 5.2 sec
Автор: Arioch1
Дата сообщения: 12.12.2012 12:00
Delphi SSE3 win64 ? для сравнения

Автор: deks
Дата сообщения: 12.12.2012 13:34
Arioch1

С этого места подробнее! Что имеется ввиду? Скомпилить в Delphi под x64?
Автор: Arioch1
Дата сообщения: 12.12.2012 16:29
да. потому что x64 использует SSE вместо x87 - поэтому и тип extended убрали
Автор: deks
Дата сообщения: 12.12.2012 17:00
В XE2 под x64 все то же самое - возможно, с типом Float было бы по другому..
Автор: Arioch1
Дата сообщения: 12.12.2012 18:23
у кого есть XE3 и XE3 U1 (и Excel) - попробуйте plz

http://pastebin.ca/2291868
Автор: GlavBuh
Дата сообщения: 12.12.2012 21:15
Arioch1
На XE3 первые два присваивания *.VerticalAlignment := VAlign; дают ошибку "Exception class EOleException with message 'Нельзя установить свойство VerticalAlignment класса Range'. Process Project5.exe (3276)"
Автор: Frodo_Torbins
Дата сообщения: 12.12.2012 22:47
deks
В 64-х битном компиляторе оптимизация операций с плавающей точкой кажется отключена по умолчанию. Вы ее включали при компиляции?
Автор: deks
Дата сообщения: 13.12.2012 07:41
Frodo_Torbins

Вы про
Код: {$EXCESSPRECISION OFF}
Автор: Arioch1
Дата сообщения: 13.12.2012 07:59
по документации это влияет на промежуточное конввертирование single -> double
поскольку в SSE3 ничего больше нет - то и влиять больше не на что.

PS. странная пара какая-то, float/double. Либо называть по-паскалевски, single/double либо по cишному - float и long float

Добавлено:
Если кому нужно для Йокселя - хотфикс в комментах http://qc.embarcadero.com/wc/qcmain.aspx?d=111277
Автор: deks
Дата сообщения: 13.12.2012 08:39
Arioch1

Вы мне своим комментом чуть голову не сломали)))

по паскалевски таки: single/double/extended
по сишному: float / double / long double

И да, путаюсь.. Все эти кросс-платформенные языки!))
С одним NSNumber проще))
Автор: Arioch1
Дата сообщения: 13.12.2012 08:42
забудь extended - его больше нет, фактически остался один ярлык, как от Real (в практическом смысле. Теоретически конечно есть и unit возвращающий x87 на x64 )

double - Это же просто typedef, нет ?
float / long float / long long float - так вроде.

Переходи на ассемблер! в смысле на JS

Добавлено:
PS. мдааа... я и себе сломал. Но что же делать - откуда у меня вообще может быть голова с утра? :-D
Автор: Frodo_Torbins
Дата сообщения: 13.12.2012 11:32
deks
Вспомнил, в первом триале XE2 оптимизация только через {$O+} включалась: http://delphitools.info/2011/09/02/first-look-at-xe2-floating-point-performance/
Автор: deks
Дата сообщения: 13.12.2012 16:20
Frodo_Torbins

Оптимизация была включена только в проекте. Щас поробую воткнуть ее ключом.

upd: нифига: 13 sec / 13 sec

upd2: .NET версия теста: 6 sec / 9 sec (обновил табличку).

На очереди - Java версия))
Автор: deks
Дата сообщения: 14.12.2012 11:28
Прочитал на _delphitools.info про node-webkit. Захотелось зафигачить SmartMobile-версию теста в эту хрень! Может, на выходных разберусь..

upd:Оказалось, packaging тривиальный, поэтому все быстро! Обновил результаты)
Автор: GlavBuh
Дата сообщения: 14.12.2012 12:18
deks

Цитата:
packaging тривиальный, поэтому все быстро! Обновил результаты)

Спасибо, очень познавательно!

Цитата:
про node-webkit

Эрик Гранге сегодня в ударе.
Автор: deks
Дата сообщения: 14.12.2012 15:41
Допилил тесты с Oxygene for Java! Уф.. Результаты обновлены!

Самое геморройное - это прочитать 3 SDK на предмет из методов для работы с консолью и датой-временем.. Ну и найти где там у них sin / sqrt.. Пипец. Все очень похоже, но называется чуть-чуть по разному, и работает чуть чуть непохоже!

П.С. Начинаю очень верить в Sugar! Это реально оч крутой проект))

Выводы по тестированию

Objective-C самый быстрый, что не удивительно, учитывая C-корни. То есть, если вызов функций производится не через runtime, то это быстро. Потому и победил во время вычисления Sin and Sqrt.

Delphi довольно медленная с FPU, практически медленнее нее только некоторые JS - runtime.

.NET немного быстрее Java.

Производительность современных вариаций JS находится на уровне Java.

Автор: salexn1
Дата сообщения: 14.12.2012 16:35
deks
а где можно увидеть результаты тестов?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738

Предыдущая тема: [Delphi XE2] Размер PNG


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.