powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Итоги 2017 года
92 сообщений из 92, показаны все 4 страниц
Итоги 2017 года
    #39578414
под ван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перехвачу эстафету у чччД :

Опять забыли подытожить?

1. Delphi Tokyo вышла, с поддержкой Android 8 (да-да, в прошлом году чччД говорил про Android 9 - так что налицо регресс).
2. Delphi Tokyo вышла аж три с половиной раза, с учётом всех обновлений. С - стабильность.
3. Хуже уже, по-моему, быть не может, но я же парень дерзкий - посему предлагаю дождаться конца 2017-го, чтобы либо поглумиться над моей дерзостью, либо восхититься моей прозорливостью.


С Новым годом всех.
Аминь.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578443
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все пропало!
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578449
под ван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreatВсе пропало!
А представь: 31-го декабря 2018-го Кэнту уже не будет в живых - устанет бесконечно вытаскивать и оправдываться, и свалит от нас, потом с пяток дельфийских MVP совершат каминаут и открыто заявят о своей необратимой миграции на C# и Java, ещё пара популярных евангелистов отменят свои выступления и все их запланированные семинары накроются медным тазом? Ну и Эмба, словно контрольным в зелёный лоб, объявит о продаже своего не оправдавшего надежд актива. И это я ещё до сих пор не выпил новогоднюю, и поэтому оптимистично прогнозирую
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578452
Кар-Кар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае апокалипсиса кто-то должен будет fpc запихнуть под вышедшие IDE, хаками, хуками, как-нибудь.
Либо я не в курсе, что такое fpc, главное, чтоб проекты из-под родимой компилировать с новыми фичами. Кратко: embarcadero не нужн
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578476
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AFAIK,

fpc - самый говеный компилятор из всех существующих в мире за последние надцать лет

кто хочет - может оспорить с тестами и примерами кодогенерации
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578495
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglfpc - самый говеный компилятор из всех существующих в мире за последние надцать лет
было бы интересно послушать твои аргументы :)
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578497
Кар-Кар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит эмбаркадер нужен.

Исходники cheatengine посмотрел, судя по дате летом перекачивал. Так он теперь на лазарусе, формы lfm стали, но код-то слишком тяжко было бы переписывать т.е. очень совместимый компиль внутри выходит. По плану Z он тоже претендует стать донором.

Ну. не дойдет же, по итогам от себя: очень категорично только для платформ делается.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578498
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кар-Кар> Ну. не дойдет же, по итогам от себя: очень категорично только для платформ делается.

Изложи мысль завтра. А сегодня ложись спать, отдохни. С Наступившим!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578499
Кар-Кар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Я просто хочу немного windows)) Ассемблера, инструкций avx и готовых графических движков на DirectX в комплекте.
С Новым Годом!
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578523
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кар-КарГаджимурадов Рустам,

Я просто хочу немного windows)) Ассемблера, инструкций avx и готовых графических движков на DirectX в комплекте.
С Новым Годом!
Отличный супер-пупер 2D/3D движок с физикой:
http://www.asphyre.net/products/pxl
Пользуюсь уже не первый год, полёт отличный !

авторMultiple desktop and mobile platforms are supported,
along with native hardware support for compact singleboard computers
including devices such as Raspberry PI, Intel Galileo, BeagleBone Black among others.

For desktop applications, multiple providers are available including OpenGL, DirectX 7, DirectX 9 and DirectX 11
for displaying real-time graphics,
while mobile and singleboard applications can take advantage of OpenGL ES provider.
In addition, fully compliant Software Rendering is provided that can be used both on desktop,
mobile and singleboard devices.

автор Supported platforms with Embarcadero Delphi XE 8+
Windows 32-bit and 64-bit

Mac OS X

Android

iOS 32-bit and 64-bit

Supported platforms with FreePascal 3.0.0+ / Lazarus 1.4+

Windows 32-bit and 64-bit

Linux 32-bit, 64-bit and ARM

Mac OS X (32-bit for Carbon, 64-bit for Cocoa)

SingleBoard devices: Raspberry PI, Intel Galileo, BeagleBone Black, Olimex OLinuXino, etc.

Android ARM and Intel (experimental).
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578528
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокSiemarglfpc - самый говеный компилятор из всех существующих в мире за последние надцать лет
было бы интересно послушать твои аргументы :)
ужасное качество кодогенерации и соответствующий результат, например 19539233
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578544
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу подтвердить что fpc медленнее. Мой интерпретатор работает быстрее на Delphi, примерно на 3 секунды

Но возможно это из за незнания особенностей той платформы
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578589
Кар-Кар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorОтличный супер-пупер 2D/3D движок с физикой:
http://www.asphyre.net/products/pxl
Пользуюсь уже не первый год, полёт отличный !Прозрачность проблема, откровением было когда узнал, что нужно рисовать в определенном порядке, смарт-конвейер какой-нибудь нужен. Поизучаю, под XE7 пока потребовало System.Hash из новых версий.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578614
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SiemarglДокпропущено...

было бы интересно послушать твои аргументы :)
ужасное качество кодогенерации и соответствующий результат, например 19539233
тебя никто не заставляет,
пользуйся какашкой за две тыщи баксов
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578615
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorSiemarglпропущено...

ужасное качество кодогенерации и соответствующий результат, например 19539233
тебя никто не заставляет,
пользуйся какашкой за две тыщи баксов
А ты столько стоишь? Шутка за 300 по нику.

Собственно, чтобы сгладить резкость - даже примитивный компилятор имеет офигенную фору перед любыми xVM - потому проигрыш в 2-3х раза в тестовых задачах может оказаться в плюсе в реальных.

Но в достижения 2017 я бы такое как FPC постеснялся записывать.

P.S. В работе я использую как сравнимую по фичам студию за 500$, так и спец.IDE за 10k EU. Но негатива к Борланду как к конторе не испытываю - нормальный софт, не чета опенсурсу в 97%
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578616
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

и это, я видел твой код....
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578626
VDSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

Это похвала или в смысле, - я твой труба шатал? ))
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578699
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Siemargldefecator,

и это, я видел твой код....

Я надеюсь, ты упал в обморок или долго рыдал ?
Или твой код - идеал ?

И что ?
у меня много разных кодов
в основном приходится работать в окружении и требованиях заказчиков/работодателей.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578764
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglужасное качество кодогенерации и соответствующий результат, например 19539233
си-шарп еще хужее, начни с него
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578770
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докси-шарп еще хужее, начни с него
Не шарп, а исполняющая среда моно. Моно великий тормоз, давно известно.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578790
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокSiemarglужасное качество кодогенерации и соответствующий результат, например 19539233
си-шарп еще хужее, начни с него
mono убогая опенсорподелка, в .днекоре уже получше, хотя на мой взгляд тоже будет выкидыш

вот результаты на родной винде 18160939

defecatorSiemargldefecator,

и это, я видел твой код....

Я надеюсь, ты упал в обморок или долго рыдал ?
Или твой код - идеал ?


Да нет, не все так плохо, в обоих случаях.

Но это однозначный повод быть потерпимее к людям
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578910
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglДокпропущено...

было бы интересно послушать твои аргументы :)
ужасное качество кодогенерации и соответствующий результат, например 19539233 тут видишь в чём проблема, большинство оптимизаций в современных компиляторах построены на, мягко скажем, рисковых оптимизациях.
Из-за них, иногда абсолютно валидный С++ код, просто не работает в релизе. Либо на уровне языка приходится ставить ограничения (а-ля Rust).
Кроме того fpc не использует команды новых процессоров, зато работает практически везде - для массовой разработки это самое то.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578924
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

Для реальных применений существуют параллельные вычисления и ассемблерные вставки со всяким-разным simd, если ограничиваться intel only. Узкое место легко и просто оптимизируется. На остальных 99.9% кода реальных 10-20% отставания не влияет никак от слова совсем. Опять же, если действительно huge вычисления нужны - то дорога в gpu, на cpu это баловство с современных реалиях.
Ну а если пофлудить на форуме, или потроллить надо - то да - компилятор медленнее.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578952
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Портировал этот код на delphi. В результате, win64 на 14% быстрее чем fpc, а вот lin_x64 ровно в два раза медленнее. Так что итоги 2017 у дельфей пожиже.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578974
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)Siemarglпропущено...

ужасное качество кодогенерации и соответствующий результат, например 19539233 тут видишь в чём проблема, большинство оптимизаций в современных компиляторах построены на, мягко скажем, рисковых оптимизациях.
Из-за них, иногда абсолютно валидный С++ код, просто не работает в релизе. Либо на уровне языка приходится ставить ограничения (а-ля Rust).
Кроме того fpc не использует команды новых процессоров, зато работает практически везде - для массовой разработки это самое то.
Первое положение полностью неверно - оптимизации используют безопасные преобразования. Но ошибок программера при этом вылазит больше, да.
Новые команды - это только SIMD разных вариантов.
makhaonSiemargl,

Для реальных применений существуют параллельные вычисления и ассемблерные вставки со всяким-разным simd, если ограничиваться intel only. Узкое место легко и просто оптимизируется. На остальных 99.9% кода реальных 10-20% отставания не влияет никак от слова совсем. Опять же, если действительно huge вычисления нужны - то дорога в gpu, на cpu это баловство с современных реалиях.
Ну а если пофлудить на форуме, или потроллить надо - то да - компилятор медленнее.
Ты не теоретизируй, особенно если про вычисления на gpu только краем уха. Да и отставание там 100-150%.

Kazantsev AlexeyПортировал этот код на delphi. В результате, win64 на 14% быстрее чем fpc, а вот lin_x64 ровно в два раза медленнее. Так что итоги 2017 у дельфей пожиже.
Однако покрутил по быстрому сейчас fpc 3.04 - сначала надо разобраться в параметрах, потом уже вердикт перепроверить.
По крайней мере, в SSE2 он с опцией у меня смог (по умолчанию не используются) - а это много дает в плавающей точке.
И по дефолту для -Px86_64 - SSE2 включены, чем может объясняться результ.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578977
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglИ по дефолту для -Px86_64 - SSE2 включены, чем может объясняться результ.
Так у дельфей, в классическом компиляторе, тоже включены. Просто линуксовый компилятор дельфей вот такое вот чудо.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39578981
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, если кому-то интересно, тут есть сравнение производительности .NET Core vs .NET Framework vs Mono.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579012
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

вот расскажу такую историю, про гнус лет 5 назад, как я неделю баг искал
возникла бага после замены компилятора на новый, проявляется часа через 3-4 работы

покрыл тестам - всё пашет, тесты прямо при запуске проверяются

вырезаю тесты - баг повторяется


Итог этого разбора - выяснилось, что компилятор с какого-то перепугу оптимизировал доступ к совмещённой структуре, когда тесты были включены, он её не оптимизировал. Достали уже эти UB и шибко-умные компиляторы.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579038
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тесты наверняка плохо выполнены. Я не теоретизирую насчет gpu. Мы занимаемся расчетами на cpu и gpu, raycast в том числе. Ещё одно. Синтаксический сахар плохо совместим с оптимизацией. Если не заниматься кликушеством, а нормальной оптимизаций, существенной разницы с плюсами не будет.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579041
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
makhaonСинтаксический сахар плохо совместим с оптимизацией.
золотые слова !
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579049
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorзолотые слова !
Фигня это. Нет там влияния сахара на производительность. Я инлайнил операторы, нифига не меняется. А если, вдруг, на каком-то коде сказывается (хотя я такого не припомню), то это таки проблема компилятора.

p.s. Код с вычислениями, когда в вычислениях используются не только примитивные типы, с сахаром читается сильно легче. Вот в коде для шарпа всё кондово, так для читающих его комментарии требуются :)
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579053
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Kazantsev Alexeydefecatorзолотые слова !
Фигня это. Нет там влияния сахара на производительность.
трансляцию сахара в код тебе компилятор организует,
и как там написано было индусами, так и будет работать.
Ты на это повлиять не можешь.

Вспомни, сколько версий компилятора вылизывали генерики,
чтобы они хотя бы работать начали.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579056
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorФигня это. Нет там влияния сахара на производительность.
трансляцию сахара в код тебе компилятор организует,
и как там написано было индусами, так и будет работать.[/quot]
Фишка в то что квалификация этих "индусов" в абсолютном большенстве случаев выше чем тех "индусов" что пользуются их фишками.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579057
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorи как там написано было индусами, так и будет работать.
Ты на это повлиять не можешь.
Так оно всё так работает, хоть с сахаром, хоть без. Управляется, например, инлайном, который, кстати, одинаково глючит, что на сахаре, что на классическом коде.

defecatorВспомни, сколько версий компилятора вылизывали генерики,
чтобы они хотя бы работать начали.
Тут ведь речь не о том что "работать начали", а о влиянии сахара на производительность. Дельфийские дженерики по сравнению с фпц вообще какашка, что уж там...
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579058
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
rgreatdefecatorФигня это. Нет там влияния сахара на производительность.
трансляцию сахара в код тебе компилятор организует,
и как там написано было индусами, так и будет работать.
Фишка в то что квалификация этих "индусов" в абсолютном большенстве случаев выше чем тех "индусов" что пользуются их фишками.
Напомни, сколько там версий дельфи потребовалось,
чтобы высокоумные индусы сделали рабочими генерики ?
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579060
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorНапомни, сколько там версий дельфи потребовалось,
чтобы высокоумные индусы сделали рабочими генерики ?Какая разница?
Результат-то достигнут.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579062
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
rgreatdefecatorНапомни, сколько там версий дельфи потребовалось,
чтобы высокоумные индусы сделали рабочими генерики ?Какая разница?
Результат-то достигнут.
результат достигнут эмбаркадерой, которая доила разработчиков ))))
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579068
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatРезультат-то достигнут.
Нет, если судить по багтрекеру.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579069
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyНет, если судить по багтрекеру.Странные метод суждений.

Сейчас "чуть менее чем все" уже сидят на этих самых "не работающих" генериких.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579072
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

авторУправляется, например, инлайном, который, кстати, одинаково глючит, что на сахаре, что на классическом коде.

вангую, что там не только в инлейне проблема, сколько в перегруженных операторах и, вообще, общей структуре кода. для того, что бы алгоритм нормально расписать, надо хорошо знать, как он покладётся на ассемблер. вплоть до попадания в кэш и прочих процессорных фишек. я, например, когда пишу свой код в сложных местах, многое учитываю. разница по производительности может быть запросто в два-три раза. может больше. кроме того, можно смотреть по поводу замены дробных чисел целыми, вынесения расчетов за циклы, работы с указателями на данные, и так много всякого. существует специальный 'ассемблерный', стиль, благодаря которому можно получить почти идеальный по производительности кусок кода. да - думаю, это все и так знают.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579080
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatСтранные метод суждений.
Что странного? Судя по багтрекеру до сих пор глючат дженерики. Просто факт.

makhaon,

Это всё давно известно, но речь о другом. Алгоритм одинаковый для всех компиляторов. Все они в равных условиях.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579083
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

и что тест реально показывает? то, что синтаксический сахар слабо предназначен для быстрых алгоритмов в delphi? ну ок, да - так и есть. только видишь сам - из этого делают неверный вывод о том, что весь компилятор - сплошное уг. хотя это не так. в результате польза от этих непонятных тестов близка к нулю. а вред - очень даже есть.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579085
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

vb еще бы добавили - он вообще бы раз в 5 медленнее был бы :) что вообще не мешает ему занимать приличную 'долю' в языках.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579094
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonи что тест реально показывает?
Способности оптимизации. Ваш КО.

makhaonто, что синтаксический сахар слабо предназначен для быстрых алгоритмов в delphi? ну ок, да - так и есть.
В данном случае сахар на производительность не влияет. А дельфя там вообще не сравнивается.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579096
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyДельфийские дженерики по сравнению с фпц вообще какашка, что уж там...если строго, в fpc макросы, а не генерики, этим он заметно выигрывает у дельфей.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579101
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

Там макросы отдельно, дженерики отдельно.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579117
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyКстати, если кому-то интересно, тут есть сравнение производительности .NET Core vs .NET Framework vs Mono.
нет смысла сравниваться с моно - это опенсорсный выпердок изначально и труп в ближайшей перспективе
makhaonТесты наверняка плохо выполнены. Я не теоретизирую насчет gpu. Мы занимаемся расчетами на cpu и gpu, raycast в том числе. Ещё одно. Синтаксический сахар плохо совместим с оптимизацией. Если не заниматься кликушеством, а нормальной оптимизаций, существенной разницы с плюсами не будет.
лучше бы реальное что то показал

синтаксис не влияет на оптимизацию, не тот уровень
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579120
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запилить нормальный рейкаст? Можно попробовать, отойти только немного от нового года. Но особо смысла не вижу, если честно, будут говорить, что де код разный.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579122
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonЗапилить нормальный рейкаст? Можно попробовать, отойти только немного от нового года. Но особо смысла не вижу, если честно, будут говорить, что де код разный.ну если немного отойти от н.г и посмотреть на ссылку, что я давал - это как раз рейтресинг
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579123
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, надо смотреть многопоточность для начала. В плюсах есть или нет? В тестах нет важных данных, насколько прогружены ядра.
Если многопоточность в плюсах есть и код нормально написан, можно дописать многопточку. Плохо, что в fpc нет пока анонимных функций, так сильно удобнее.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579131
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglнет смысла сравниваться с моно - это опенсорсный выпердок изначально и труп в ближайшей перспективе
На счёт перспективы видимо да, но с чем ещё сравнивать корку под линуксом, как не с моной.

makhaon,

Для шарпа там есть многопоточный вариант.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39579989
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglAFAIK,

fpc - самый говеный компилятор из всех существующих в мире за последние надцать лет

кто хочет - может оспорить с тестами и примерами кодогенерации
В общем, взялся немного за документацию и тесты - не все так печально, как я себе представлял. Ну то есть печально, но оптимизатор там есть )

TLDR - насильно включайте SSE2 для 32бит, а лучше сразу использовать 64-битную компиляцию
Он все еще худший среди оптимизирующих - но в версии 3.04 для 32-бит включение правильной оптимизации ускоряет на рэйтресинге в 1.6 раз, в основном за счет SSE.

Что нужно не забывать, кроме О4, - насильно прописывать ему тип процессора и для 32-бит - SSE2 для плавающей точки, он автоматически это не делает.

К сожалению, 32-битный компилятор, похоже забросили, и с AVX он уже не компилирует.
А тот же тест в 64-битном режиме в 1.5 быстрее, чем в 32-бит (

Впрочем - отличие по режимам процессора по ассемблерному кому минимальное - основная причина в разнице скорости - 64-бит по дефолту использует AVX, а 32-бит - x87.


В целом, кто хочет - может дописать один из тестов, которого не хватает для Паскаля, ну или попытаться оптимизировать провальные
http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=fpascal&lang2=gpp
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39580002
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

какой смысл?
любой тест специализирующийся на какой-то узкой области предвзятый.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589048
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интереса ради запустил шарповый код под .NET Core на линуксе. Оказалось, он быстрее дельфийского на 26%. Причём дельфийский код (10.1, Win64) работал на хост-машине, а шарповый на виртуалке.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589050
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyИнтереса ради запустил шарповый код под .NET Core на линуксе. Оказалось, он быстрее дельфийского на 26%. ...
А что ты измерял?
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589051
НуИПоХуй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все пропало.... Клиент уезжает... Гипс снимают!!!
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589077
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДА что ты измерял?
https://github.com/Mark-Kovalyov/CardRaytracerBenchmark
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589146
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyИнтереса ради запустил шарповый код под .NET Core на линуксе. Оказалось, он быстрее дельфийского на 26%. Причём дельфийский код (10.1, Win64) работал на хост-машине, а шарповый на виртуалке.Ты фрипаскалевский код компилил? Он там нормально написан?
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589167
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerТы фрипаскалевский код компилил? Он там нормально написан?
Да. Да. :)
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589178
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

он там немного академический, но такое тестирование изначально некорректно, на виртуалке может быстрее отрабатывать за счёт приоритетов, а на винде тупить за счёт приостановки задачи

надо бы его как нить пооптимизировать и уравнять алгоритмы, что бы они одно и тоже делали, а не каждый сам по себе
не помню что бы кардинально было отличие от плюсов больше 60% когда я его тестил
ява с шарпом там тупили одинаково
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589187
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)на виртуалке может быстрее отрабатывать за счёт приоритетов, а на винде тупить за счёт приостановки задачи
Ещё ни разу код выполняющийся на виртуалке не работал быстрее чем код на хостовой машине (я в основном работаю и тестирую на виртуалках, потому знаю о чём говорю), за исключением кода активно работающего с диском. Для интереса могу и дельфёвый в виртуалку засунуть, если ты думаешь, что это поможет :)
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589259
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

а ты не знал что Linux поровнее проц выдаёт чем винда?

вот тест с моей машинки 1-е MSVC++, второй fpc:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
G:\Temp>test.cmd
15:36:20,89

G:\Temp>card_raytracer_cpp.exe   d1.ppm
15:36:32,96

G:\Temp>card_raytracer.exe   1>d2.ppm
15:36:54,43

плюсовый код поменялся судя по отличию в выводе, что-то оптимизировали, первоначальный исходник не нашёл
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589262
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

эти тесты тупо причёсывать надо, иначе они производительность генераторов случайных чисел накладывают
и сравнивать результаты на полное совпадение
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589360
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)а ты не знал что Linux поровнее проц выдаёт чем винда?
Винда в тестировании вообще не использовалась. Дельфийский код запускался на вайне, который, как известно, не эмулятор, а альтернативная реализация WinAPI, которого этот код не использует.

kealon(Ruslan)эти тесты тупо причёсывать надо, иначе они производительность генераторов случайных чисел накладывают
и сравнивать результаты на полное совпадение
В паскалевской реализации бенча используется довольно примитивный гсч. Я его перенёс в шарповый бенч, дабы идентичность обеспечить, в результате шарповый стал работать ещё быстрее.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589402
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

хз, генератор я естественно меняю и ставлю одинаковый

но я почему-то не вижу этих 260% не на G++ не на MSVC, может я криво тестю? или у меня компилятор какой-то тюнингованный (вполне старый fpc 3.0.0 под виндой и под Linux с репа Mint)?
под виндой оба 64-битные release. под Linux такая же лабуда была в сравнение с G++

причём заметь, код на fpc специально не тюнингован, а один в один до порядка действий переписан с С++

под Wine я бы не сравнивал как что работает при любых допущениях, я написал только к выссказыванию 21130748 из которого и следует что под виндой запускается и сравнивается с результатом в ВМ
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589417
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)но я почему-то не вижу этих 260%
260% и я не вижу.

kealon(Ruslan)под Wine я бы не сравнивал как что работает при любых допущениях
Почему бы и нет? Там исполняется ровно тот же самый x86_64, системных вызовов в бенче нет т.ч. влияния вайна быть не может.

С фпц ещё прикол. Один и тот же код, собранный с идентичными настройками, но под разные платформы (Win_x64, Linux_x64) показывает разный результат и результат виндового варианта значительно лучше. Линуксовый запускался в родной среде, виндовый в ней же но под вайном. Правда компилятор у меня транковый.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589536
Sapersky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kazantsev Alexey260% и я не вижу.
В той ветке тестеры собирали на Си с -march=native, т.е. все инструкции вплоть до AVX2/FMA, а на fpc видимо остался по умолчанию SSE2.
Но даже если включить все инструкции в FPC, он выдаёт довольно корявый по сравнению с Си код.
https://godbolt.org/g/eoqaRv
https://godbolt.org/g/xXT9P3
Использование всего 2-3 регистров, постоянные обращения к памяти, в общей сумме в 2 раза длиннее.
Похоже, проблема в кривом инлайне - каждая "вызываемая" процедурка берёт параметры из памяти и в конце пишет результат в память. Кому не лень, можете заинлайнить вручную и проверить.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589546
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело не в инлайне. Инлайн в целом удлиняет программу.

Здесь же асм код от паскаля втрое! длиннее.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589552
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел я на этот бенч.

Сдаеться мне они там меряют скорость вывода в консоль/файл а не только качество алгоритмов и компилятора. ;)
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589554
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Адаптировал FPC под дельфовый код. Выложите скомпиленный эталон на FPC и еще на чем нибуть.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589556
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или сами тестите.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
program card_raytracer;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,Math;

const
  Width = 512;
  Height = 512;

  M = 1048576; // 2^20
  J = 2045;
var
  oldI: integer = 12357;
type
  TFloat = double;

  TVector = record
     class operator Add(const v1,v2: TVector): TVector;
     class operator Subtract(const v1,v2: TVector): TVector;
     class operator Multiply(const v1,v2: TVector): TFloat; overload;
     class operator Multiply(const v: TVector; r: TFloat): TVector; overload;

    case integer of
      0: (x, y, z: TFloat;);
      1: (vector: array[1..3] of TFloat;);
  end;

  function Vector(a, b, c: TFloat): TVector; inline;
  begin
    Result.x := a;
    Result.y := b;
    Result.z := c;
  end;

  function rand0_1(): TFloat; inline;
  begin
    oldI := (oldI * J + 1) mod M;
    Result := oldI / M;
  end;

  function exp(const v1, v2: TVector): TVector;
  begin
    Result := Vector(v1.y * v2.z - v1.z * v2.y, v1.z * v2.x -
      v1.x * v2.z, v1.x * v2.y - v1.y * v2.x);
  end;

  function norm(const v: TVector): TVector;
  var
    r: TFloat;
  begin
    r := sqrt(v * v);
    Result := v * (1 / r);
  end;

const
  Gt: array[0..8] of integer = (
    $0003C712,  // 00111100011100010010
    $00044814,  // 01000100100000010100
    $00044818,  // 01000100100000011000
    $0003CF94,  // 00111100111110010100
    $00004892,  // 00000100100010010010
    $00004891,  // 00000100100010010001
    $00038710,  // 00111000011100010000
    $00000010,  // 00000000000000010000
    $00000010  // 00000000000000010000
    );

  function tracer(const o, d: TVector; out t: Tfloat; out n: TVector): integer;
  var
    k, j: integer;
    pp: TFloat;
    p: TVector;
    b: TFloat;
    c, q, s: TFloat;
  begin
    t := 1e9;
    Result := 0;
    pp := -o.z / d.z;
    if (0.01 < pp) then
    begin
      t := pp;
      n := Vector(0, 0, 1);
      Result := 1;
    end;
    for k := 18 downto 0 do
    begin
      for j := 8 downto 0 do
      begin
        if (Gt[j] and (1 shl k)) = 0 then
          continue;
        p := o + Vector(-k, 0, -(j + 4));
        b := p * d;
        c := p * p - 1;
        q := b * b - c;
        if (q <= 0) then
          continue;
        s := -b - sqrt(q);
        if (s < t) and (s > 0.01) then
        begin
          t := s;
          n := norm(p + d * t);
          Result := 2;
        end;
      end;
    end;
  end;

  function sampler(const o, d: TVector): TVector;
  var
    t: TFloat;
    n: TVector;
    m: integer;
    h, l, r, s: TVector;
    b, p: TFloat;
    p1, p2: TFloat;
  begin

    m := tracer(o, d, t, n);
    if (m = 0) then
      exit(Vector(0.7, 0.6, 1) * power(1 - d.z, 4));

    h := o + d * t;
    p2 := 9 + rand0_1();
    p1 := 9 + rand0_1();
    l := norm(Vector(p1, p2, 16) - h);
    r := d + n * (n * d * (-2));
    b := l * n;
    if (b < 0) or (tracer(h, l, t, n) <> 0) then
      b := 0;

    p := power(l * r, 99) * Ord(b > 0);
    if (m and 1) <> 0 then
    begin
      h := h * 0.2;
      if ((ceil(h.x) + ceil(h.y)) and 1) <> 0 then
      begin
        s := Vector(3, 1, 1);
      end
      else
      begin
        s := Vector(3, 3, 3);
      end;
      exit(s * (b * 0.2 + 0.1));
    end
    else
    begin
      Result := Vector(p, p, p) + sampler(h, r) * 0.5;
    end;
  end;

var
  g, a, b, c, p, t, ta, tb: TVector;
  y, x, r: integer;


{ TVector }

class operator TVector.Add(const v1, v2: TVector): TVector;
begin
  Result.x:=v1.x + v2.x;
  Result.y:=v1.y + v2.y;
  Result.z:=v1.z + v2.z;
end;

class operator TVector.Multiply(const v1, v2: TVector): TFloat;
begin
  Result := v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
end;

class operator TVector.Multiply(const v: TVector; r: TFloat): TVector;
begin
  Result.x:=v.x * r;
  Result.y:=v.y * r;
  Result.z:=v.z * r;
end;

class operator TVector.Subtract(const v1, v2: TVector): TVector;
begin
  Result.x:=v1.x - v2.x;
  Result.y:=v1.y - v2.y;
  Result.z:=v1.z - v2.z;
end;

begin
  writeln('P6');
  //writeln('P3');
  writeln(Width, ' ', Height);
  Write('255 ');
  g := norm(Vector(-6, -16, 0));
  a := norm((exp(Vector(0, 0, 1),g))) * 0.002;
  b := norm(exp(g,a)) * 0.002;
  c := (a + b) * (-256) + g;
  for y := Height - 1 downto 0 do
  begin
    ;
    for x := Width - 1 downto 0 do
    begin
      p := Vector(13, 13, 13);
      for r := 64 downto 1 do
      begin
        tb := b * ((rand0_1() - 0.5) * 99);
        ta := a * ((rand0_1() - 0.5) * 99);
        t := ta + tb;
        p := sampler(Vector(17, 16, 8) + t,
          norm(t * (-1) + (a * (rand0_1() + x) + b * (y + rand0_1()) + c) * 16)) *
          3.5 + p;
      end;
      //writeln(min(round(p.x),255),' ',min(round(p.y),255),' ',min(round(p.z),255));
      Write(char(round(p.x)), char(round(p.y)), char(round(p.z)));
    end;
  end;
end.

...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589561
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatСдаеться мне они там меряют скорость вывода в консоль/файл а не только качество алгоритмов и компилятора. ;)
Там того вывода... Впрчем, я для фпц и дельфей вообще вывод отключал, у шарпа оставил.

rgreatВыложите скомпиленный эталон на FPC и еще на чем нибуть.
Могу сборку для .net core выложить если у тебя есть на чём запустить.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589568
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, линукс не интересен.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589571
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyТам того вывода... Сотни страниц посимвольно.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589572
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatНе, линукс не интересен.
Так он вообще-то кроссплатформенный...
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589574
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatСотни страниц посимвольно.
760Kb. на общем фоне затраты на вывод (не в консоль разумеется: bench.exe > pic.ppm) ничтожны.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589585
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyrgreatНе, линукс не интересен.
Так он вообще-то кроссплатформенный...Потому и не интересен.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589586
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatПотому и не интересен.
В смысле .net core кроссплатформенен и потому не интересен? Л - логика. О-о-о-о-кей. Ладно, вот тебе сборка бенча компилятором fpc 3.1.1 под винду x64 (кстати, сравни генерируемые картинки).
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589596
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatKazantsev AlexeyТам того вывода... Сотни страниц посимвольно.
вот кстати у меня тоже такое впечатление складывается, паскалевский ртл никогда не оптимизировал (буферезировал) вывод, а ось может на этом контретно притормозить прогу. Завтра попробую вывод забуферизовать.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589597
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

c++ 6.2 11.00s total
gcc -O3 -march=native raytracecpp.cpp -o raytracecpp.exe

project1.exe 30.00s total

i7-4702MQ @2.2GHz Win8.1-x64
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589602
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglc++ 6.2 11.00s total
gcc -O3 -march=native raytracecpp.cpp -o raytracecpp.exe

project1.exe 30.00s total
Я даже не сомневался на счёт с++ ;)

Надо будет с элементами потестить (там LLVM в бэкенде), когда десятка релизнется.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589608
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

LLVM суровый, но беспощадный =) Не всегда результаты однозначны.

На мой взгляд, при сравнимом потреблении памяти, до 100% (и даже до 200) вычислительных потерь на большинстве рабочих задач можно пренебречь. Исключения - ну может некластерная математика, еще игры...
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589609
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смешные вы, оптимизируете инлайны...

Лучше добавьте в тест в конце вывод "в т.ч. NNN вызовов Random, XX секунд"
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589617
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747Лучше добавьте в тест в конце вывод "в т.ч. NNN вызовов Random, XX секунд"
На вызовы (которые, кстати, инлайнятся) rand0_1 приходится примерно 4.5% времени теста.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589622
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyЛадно, вот тебе сборка бенча компилятором fpc 3.1.1 под винду x64
Delphi x86 - 48.431
Delphi x64 - 23.220
FPC x86 - 25.006

(кстати, сравни генерируемые картинки).Отличаются!
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589623
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, убрал из дельфового кода inline-ы скорость увеличилась до 20 сек!
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589627
Sapersky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня от инлайна не замедляется (XE8/x64), но если заинлайнить вручную самый "горячий" участок, то ускоряется почти в полтора раза.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
{
        p := o + Vector(-k, 0, -(j + 4));
        b := p * d;
        c := p * p - 1;
}
        p.x := o.x - k; p.y := o.y; p.z := -(j + 4);
        b := p.x * d.x + p.y * d.y + p.z * d.z;
        c := p.x * p.x + p.y * p.y + p.z * p.z - 1;


Ещё стандартный Random немного быстрее этого самописного на mod/div.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589630
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс. В тесте FPC не x86 а x64 конечно.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589664
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отмечусь как наблюдатель:

Delphi 10.2 Tokyo, сборка rgreat x64
Проц операционка результат сек.Core i5 Windows7 x64 26Xeon E5-4650 v3 Windows server 2012 x64 39Xeon 5420 * 2 Windows server 2016 x64 Datacenter 32
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589732
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatКстати, убрал из дельфового кода inline-ы скорость увеличилась до 20 сек!
Вот не поэтому-ли ? :)
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589779
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp Вот не поэтому-ли ? :)
Совершенно точно не поэтому ;) Это вылезает только на управляемых типах.
...
Рейтинг: 0 / 0
Итоги 2017 года
    #39589782
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, я вспомнил, что у fpc есть поддержка векторизации (с поддержкой инструкций AVX, AVX2). Попробовал этот тест переписать под векторизацию, но компилятор начал падать с InternalError :( Вот жеж...
...
Рейтинг: 0 / 0
92 сообщений из 92, показаны все 4 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Итоги 2017 года
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]