Змінюй хід війни! Допомагай ЗСУ!

Delphi XE5 (Delphi For Android)

  • Автор теми Автор теми mdaii
  • Дата створення Дата створення
Что мешает кспользовать красивые UI от других производителей, готовые?
Даже XE2 уже поддерживает "шкурки".

Между делом педалю проект ... Интересно, что в виртуалке собирается менее 2 минут. По скорости кодогенерации Делфи, конечно, рвет. Хотя код мягко говоря не очень оптимизированный.

attachment.php


Переглянути вкладення 5397924
 
Останнє редагування:
Господа, прекратите насиловать труп.
 
953 хинта! Внушает.
 
Что мешает кспользовать красивые UI от других производителей, готовые?
Даже XE2 уже поддерживает "шкурки".

Не в шкурках счастье :) А в том что приходиться отходить от канонической оконной модели, а следовательно кастомизировать поведение почти всех стандартных контролов, начиная от кастомной прорисовки и заканчивая обработкой спецефических собыитий, в том числе и юзер дефайнед.
 
XE3 зарелизился
 
Не в шкурках счастье :) А в том что приходиться отходить от канонической оконной модели, а следовательно кастомизировать поведение почти всех стандартных контролов, начиная от кастомной прорисовки и заканчивая обработкой спецефических собыитий, в том числе и юзер дефайнед.

Мы просто пишем по для разных людей :)
Мне хватает кастомизированныХ мною vcl если что или купленного на стороне.
Xe3 качнем - потестим, спасибо.
Особенноо интересно мой тестик, который на делфях от 4 до 14 раз медденнее чем на сях или джаве.

PS Тестик каким был, таким и остался.
Жаль.
 
Останнє редагування:
Хотя код мягко говоря не очень оптимизированный.
Ну так делфи предназначен для полъзовательских програм а не для серверных приложений или трехмерного моделирования. Скорость работы кода не критична.
 
Ну так делфи предназначен для полъзовательских програм а не для серверных приложений или трехмерного моделирования. Скорость работы кода не критична.

Ничего не понял из того что вы написали
3-х мерное моделирование то же пользовательское ПО. Если вы имеете ввиду рендер-фермы а не банальный 3ДМакс то там вообще все другое

с#, java, с++ умеюют оптимизировать то, что я написал, а Делфи нет. причем тут ниша языка? Это сугубо работа компилятора, и он в Delphi работает странно. Могли бы уже допилить за столько лет.
Кстати 64-битная сборка работает в несколько раз быстрее, там компилятор все же более умно код генерит. Но все равно не дотягивает.
 
Xe3 качнем - потестим, спасибо.
Особенноо интересно мой тестик, который на делфях от 4 до 14 раз медденнее чем на сях или джаве.

PS Тестик каким был, таким и остался.
Жаль.

а можно вкратце суть теста?
работа с большими массивами, вычисления с "плавающей", целочисленные, сложная неоптимизированная логика? а чём "просадка" проявляется?
 
Ничего не понял из того что вы написали
3-х мерное моделирование то же пользовательское ПО. Если вы имеете ввиду рендер-фермы а не банальный 3ДМакс то там вообще все другое
Я о том что делают большинство программ. Пользователь вводит данные данные складируются куда то потом показываются пользователю в том или ином виде по тем или иным критериям . Это означает что скорость работы программы определяется скоростью тыкания мышкой в кнопки.

Это к тому что вычислительная мощность для большинства дектопных програм некритична. Какой смысл тратить кучу денег на супер оптимизирующий компилятор если с этого пользы никакой. Так же как никто щас не оптимизирует програмы по размеру. Посмотрите на дистрибутивы того же делфи или студии - счет уже на гигабайты идет Потому как труд програмиста гораздо дороже чем стоимость дискового пространства.

Кстати 64-битная сборка работает в несколько раз быстрее, там компилятор все же более умно код генерит.
Я тоже ничего не понял. :)
В смысле быстрее работает компилятор или быстрее работает сгенеренный код. И что именно 64 разрядное - сам компилятор или код который он генерит? Как то странно представить чтобы алгоритм оптимизации зависел от разрядности.
 
Как то странно представить чтобы алгоритм оптимизации зависел от разрядности.

А ничего странного в этом нету. У x86-64 архитектуры доступно больше базовых регистров в сравнении с x86. Поэтому в некоторых случаях просто отпадает необходимость гонять значение переменной из памяти в регистр и после вычислений обратно в память.
 
Поэтому в некоторых случаях просто отпадает необходимость гонять значение переменной из памяти в регистр и после вычислений обратно в память
Предполагаю оптимизация выходного бинарного кода определяется не количеством перемещений по регистрам. Речь именно об алгоритмах изза которых одни коипиляторы на той же разрядности выускают код работающий на порядок быстрее чем другие.
сравни результат компиляции gcc с каким нибудь платным от майкрософта или IBM
 
С работы кину ссылку и на код и на тред, который я открывал в эмбаркадеро по этому поводу.
По поводу компилятора - джава быстрее! Это не супероптимизации. Супер - это intel vs microsoft, битва сишных компайлеров.
А генерить код аля vb6 в 2012 странно.

Собственно тестик был когда то где то найден
Я его просто немного расширил и еще сделал на джаве и плюсах, для сравнения

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
 
Останнє редагування:
Полностью согласен с RainBoy.

Запустил код на Delphi 6 - 06 сек. //Без itg
Запустил код на Java(6) - 04 сек.

Скомпилировал код на FPC - 06 сек. //Без itg
Еще пару настроек (настроил в проце на Pentium M + Release и т.д.) - 04 сек. //Без itg
С itg - позор полный, но если заинлайнить itg вручную то у я получал - 02-03 сек. (Кстати можно же было бы как то анализировать код функции, и если ее размер меньше какого то порога, то выделять ее как встраиваемую (+ опциями компилятора это разрешать запрещать)).

Хотелось бы увидеть действительно хороший оптимизирующий компилятор Delphi, который мог бы разворачивать циклы и т.д. (Что то типа Intel C++)
 
Вам еще везет
У меня на i7 3930 разница от 4 до 14 раз
 
Я на ноуте сижу (AMD Athlon 64 X2) + Windows XP (32 bit).

UPD: Скомпилировал в Delphi 2010 (Release) - скорость сразу просела (~13 мс и с опциями игрался).

UPD,UPD: Посмотрел ассемблерный код, sum := sum + ((np*np + (np + step)*(np + step))) / 2 * step; он идентичный, думаю дело в чем то другом. И этот тест затрагивает какие то другие особенности.
 
Останнє редагування:
На эмбаркадеро разжеван мой код
Он не оптимален от компилятора, посмотрите ветку

А кто то Лазарус последний пробовал?
Я вот скачал, нашел давний баг опять.
Кидаем 2 панельки и сплиттер. Кидаем ридиокнопки, запускаем, медленно тянем сплиттер влево и потом вправо
На контролах остается грязь

attachment.php


Можно на Moved навесить Refresh, но все равно "грязно" пока ведешь.

Переглянути вкладення 5412917

Мой простой тестик на отпимизации Level 0 работает на 40% быстрее чем с оптимизацией Level3 :D
 
Останнє редагування:
А кто то Лазарус последний пробовал?
Я вот скачал, нашел давний баг опять.
Кидаем 2 панельки и сплиттер. Кидаем ридиокнопки, запускаем, медленно тянем сплиттер влево и потом вправо
На контролах остается грязь
У меня нет этой грязи.
Лазарус 1.1 FPC 2.6.0
Вероятно, с вашим компом что-то не так.
 
Назад
Зверху Знизу