Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 1557 1558 1559 1560 1561 [1562] 1563 1564 1565 1566 1567   вперед  Ctrl
 Re: Курилка  [new]
ВсеРазумный
Member

Откуда:
Сообщений: 101
Kazantsev Alexey
Только это называется трансляцией. Vala, например, так работает.


Ну если вдаваться в подробности, то и C\C++ транслируется в ASM. Так что это дело такое, которое лишь переводит один вид кода в другой. Просто добавляется прослойка перевода, которая кэшируются с целью пред оптимизации как в Delphi - dcu. Но нас волнует именно оптимизация. Что подводит к

kealon(Ruslan)
Kazantsev Alexey
пропущено...

У сей есть круто оптимизирующие компиляторы, у паскаля, увы, нет.
дельфи как язык не готов к современным оптимизирующим компиляторам - много что полетит при применении современных методов оптимизаций
+ стандартные библиотеки архитектурно не заточены на "хорошу компиляцию"


Самая большая проблема - это, ассемблерные вставки - очень плохой тон, в современном мире(А для Delphi не имеющего оптимизации - кара небесная. Абы - да - кабы, это всё можно заменить шаблонами, дабы не плодить дельфийский ад в целом, что по итогу подытожит не переносить не оптимизированный код по плохой логики работы на СИ\СИ++).

А динамическая идентификация типов данных это легко. Так как мы строим код на два фронта, мы имеем анализатор, который на стадии написания кода может автоматически добавлять полную индикацию всего что только можно.

По итогу мы получим вырезанный Delphi - 40% А остальное будет прекрасно жить и с другим компилятором. Хотя разницы вы и не заметите в написание кода, и уж тем более в выполнение.

За то в Delphi это принесёт множество разных инструкций, таких как SSE2,3,4\1\2\AVX+\FMA и множество другого из коробки
3 мар 20, 09:46    [22091278]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
ВсеРазумный
Member

Откуда:
Сообщений: 101
Я конечно не читал лицензии, но если перевести код целиком Delphi \ VCL \ FMX на другой язык, они же в таком случае теряют права в целом?
3 мар 20, 09:49    [22091280]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4217
kealon(Ruslan),

Когда компилятор снова и снова загружает в регистр значение уже находящееся в нём, то это не язык виноват, это компилятор такой... гхм, неумный.

Соколинский Борис
Круто оптимизировать обычно нужно очень структурной-простой код.

Отлично. Даже это избавило бы RTL от простыней ассемблерного кода, он там не от хорошей жизни.
3 мар 20, 11:01    [22091374]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5811
Kazantsev Alexey
kealon(Ruslan),

Когда компилятор снова и снова загружает в регистр значение уже находящееся в нём, то это не язык виноват, это компилятор такой... гхм, неумный.
а вдруг ты его поменяешь из другого потока
дефолтный volatile, удобно же - а за удобства надо платить
3 мар 20, 11:30    [22091415]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 12226
Kazantsev Alexey
Отлично. Даже это избавило бы RTL от простыней ассемблерного кода, он там не от хорошей жизни.
Я под крутой оптимизацией имею в виду SIMD-инструкции.
В RTL, насколько я понимаю, они не очень востребованы.
3 мар 20, 11:32    [22091419]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
ёёёёё
Member

Откуда:
Сообщений: 2048
ёёёёё
Vlad F
пропущено...

А чем сей шнур хорош и ссылку, плиз.

Шнур с алиэкспресс, из серии "дешевле некуда", использую такой примерно с 2013г. Размер - 0.6 (каких-то единиц), прочность - 10 фунтов, шнур круглый, хорошо мотается, не мохрится и не собирает мусор. 4 жилки.
Для ловли форели и вообще рыбы килограмм до двух-трех(больше не попадалась).

Есть еще более тонкий (0.4, 8 фунтов), оттуда же, но он не такой круглый, как этот, и, мне кажется, что в нем меньше 4х жилок - использую такой для ультралайта, для ловли всякой мелкой фигни на сверхлегкие приманки. Ссылку не даю, потому что такие тонкие почему-то больше не продают


Верёвки соответствуют ожиданиям, по тестам - даже более прочные, чем заявлено, из недостатков - краска смывается (не полностью), ну да фиг с ней, с краской. Раз в год срезаю с катушек старую леску и наматываю свежую, на всякий случай. Качеством доволен на 200% - возможно, потому что не пользовался ничем лучше, и какие-нибудь истинно японские лески куда лучше.
...
Но это всё фигня. Недавно у меня закончилась леска на одной из шпулек, я полез заказывать снова, и выяснил, что появились плетеные шнуры на 8 и даже на 9 ниток. И вроде как они более гладкие и тонкие, например, шнур на 15 фунтов такой же тонкий, как 4х шнуровой 10-ти фунтовый. Заказал, пока еще не получил. А намотал пока шнур старого типа, 4х жильный, см. ссылку выше.

...могу ещё страниц 10 рассказывать.

Сегодня наконец-то 8и - нитевый шнур пришел. Китайцы, небось пешком его доставляли.
Ура.

К сообщению приложен файл. Размер - 137Kb
3 мар 20, 12:16    [22091477]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
ёёёёё
Member

Откуда:
Сообщений: 2048
ёёёёё,

Вот этот, в коробке который. А которые на катушках - те старой системы, 4х-нитевые.

У 8и-нитевого толщина 0.8, но на ощупь и на вид он примерно такой же, как 4х-нитевый 0.6. И очень гладкий, как шелк. Вот он, зеленый.
Домой приеду - на разрыв потестирую.
Я счастлив.

К сообщению приложен файл. Размер - 93Kb
3 мар 20, 12:19    [22091480]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 61209
Блог
ёёёёё
Я счастлив.

И пусть это сохранится подольше.
3 мар 20, 12:23    [22091488]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4217
kealon(Ruslan)
а вдруг ты его поменяешь из другого потока

Локальную переменную? На которую ни ссылок, ни передачи её в параметрах? Ну может быть, конечно...

Соколинский Борис
Я под крутой оптимизацией имею в виду SIMD-инструкции.
В RTL, насколько я понимаю, они не очень востребованы.

SIMD вообще отдельная история, у дельфей тут только SSE2 в 64-битном режиме есть и всё. Даже у бесплатного FPC есть векторизация (пусть и работающая через раз, но это и не коммерческий продукт). Тот же FPC получил ускорение работы компилятора на 18%, когда его собрали с использованием LLVM-бэкенда. Не самый структурно простой код. Ещё касаемо LLVM. Я как-то репортил о раздутом коде из под дельфийского некстгена. Так вот там во вложении есть пример кода (структурно простого, но с обилием инлайнов), на котором видно, что дельфийский компилятор (классический, не некстген) генерирует в полтора раза больше кода и локальных переменных, чем компилятор с LLVM-бэкендом (Oxygene, код аналогичный дельфийскому).
3 мар 20, 12:28    [22091494]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 12226
Kazantsev Alexey

SIMD вообще отдельная история, у дельфей тут только SSE2 в 64-битном режиме есть и всё. Даже у бесплатного FPC есть векторизация (пусть и работающая через раз, но это и не коммерческий продукт). Тот же FPC получил ускорение работы компилятора на 18%, когда его собрали с использованием LLVM-бэкенда.
Но мы же понимаем, что 18% - такая мелочь, которая в практической работе значения почти не имеет, чисто маркетинговый ход.
С SIMD-ом стоит заморачиваться когда ускорение работы ожидается в разы.
3 мар 20, 13:25    [22091585]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4217
Соколинский Борис,

Во-первых, почти 20 процентов это нифига не мелочь. Во-вторых, это ускорение получено на абсолютно обычном коде. Это не вычислительный код, это не код с интринсинками, а самый самый обычный. То есть, об оптимизации с помощью SIMD даже речи нет.
3 мар 20, 13:37    [22091601]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 12226
Kazantsev Alexey
Во-первых, почти 20 процентов это нифига не мелочь.
Трудно себе представить, чтобы в практических задачах 20% было критичным.
А если да, все равно придется низкоуровневое программирование использовать (хотя бы проверять, что компилятор нагенерил).
3 мар 20, 13:57    [22091621]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5811
Kazantsev Alexey
тот же FPC получил ускорение работы компилятора на 18%, когда его собрали с использованием LLVM-бэкенда.
а работает то он корректно после этого? а любая другая приложуха? вот же в чём вопрос.
Когда в плюсах стали с volatile мудрить, куча кода посыпалось, маны делали по сбору некоторых либ.
Многие на си ушли от этого бардака.

Ну вот честно если, то оптимизация всего и всегда для приложухи ИМХО не самый хороший ход
Оптимизации бывают нужны в очень узких местах. Директива компилятору оптимизировать модуль зашла бы в самый раз. И было бы совершенно "по православному", а всё... - зачем оно надо???! что бы греть воздух багами завалили, и компилятор отладить?
Тот же "диспетчер сообщений"\"динамический методы" в TObject, совсем не для хардкорных оптимизаций.

Хотя я и считаю, что местами в дельфи перебор с Compiler magic, дельфи удобен тем, что не надо думать о многих вещах, и скорость - не такая большая плата
3 мар 20, 14:03    [22091625]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4217
Соколинский Борис
Трудно себе представить, чтобы в практических задачах 20% было критичным.

Ожидать 50 минут, вместо часа, вполне себе, ощутимо. И это, заметь, вообще без приложения усилий для оптимизации кода.
3 мар 20, 14:14    [22091637]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3561
Kazantsev Alexey,

10-15 процентов на реальных приложениях это ни о чем вообще. разницы никто не заметит вообще. Дрочеры-тестеры с секундомером в лучшем случае. Вот в разы (как с SIMD или многопоточностью) - тут да.
3 мар 20, 14:16    [22091639]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3561
Kazantsev Alexey,

ты много таких задач в реальной юзерской жизни видел, что бы по 30-50 минут? я - ни одной за 20 лет.
3 мар 20, 14:18    [22091644]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 12226
Kazantsev Alexey
Ожидать 50 минут, вместо часа, вполне себе, ощутимо. И это, заметь, вообще без приложения усилий для оптимизации кода.
В таких случаях таки нужно прилагать усилия для оптимизации. И добиваться 5 минут :)
3 мар 20, 14:20    [22091645]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 61209
Блог
makhaon
ты много таких задач в реальной юзерской жизни видел, что бы по 30-50 минут?

Я видел в реальной жизни ситуацию, когда 15-20% разницы в производительности были разницей между "всё проходит влёт, за пару минут" и "забивается очередь и люди ждут по часу и более".
3 мар 20, 14:23    [22091651]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4217
kealon(Ruslan)
а работает то он корректно после этого? а любая другая приложуха? вот же в чём вопрос.

Да, работает, и не только компилятор.
3 мар 20, 14:24    [22091652]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4217
makhaon
ты много таких задач в реальной юзерской жизни видел, что бы по 30-50 минут?

Я и больше видел. Моя первая реальная работа была связана с вычислениями, которые могли длиться несколько часов. Сейчас вот пара задачек (не вычислительных), одна отрабатывет минут за 40-50 (и ожидается, что скоро станет ещё больше), вторая часа полтора.

makhaon
я - ни одной за 20 лет.

Если морды писать 20 лет, то и не удивительно.
3 мар 20, 14:32    [22091657]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Sapersky
Member

Откуда:
Сообщений: 52
makhaon
10-15 процентов на реальных приложениях это ни о чем вообще. <...> Вот в разы (как с SIMD или многопоточностью) - тут да.
Если fpc/LLVM даёт возможность задействовать сишный векторизатор, то это и будет тот самый SIMD, но без привычных для Дельфи ассемблерных простыней.
3 мар 20, 19:32    [22091944]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3561
Kazantsev Alexey,

автор
Я и больше видел. Моя первая реальная работа была связана с вычислениями, которые могли длиться несколько часов. Сейчас вот пара задачек (не вычислительных), одна отрабатывет минут за 40-50 (и ожидается, что скоро станет ещё больше), вторая часа полтора.


Тогда дорога в видюхи. Кто сейчас такие задачи решает на процессорах?

автор
Если морды писать 20 лет, то и не удивительно.


Не только писать писать, а юзать. Я вот не видел за 20 лет ни одной программы в своем окружении, которые бы на процессоре что-то считали (хотя софта просто гора всякого была, обычный юзер думаю 1-2% видит от того, что у меня пробегало). Видюхи - бывало несколько раз что-то считали.

автор
Если fpc/LLVM даёт возможность задействовать сишный векторизатор, то это и будет тот самый SIMD, но без привычных для Дельфи ассемблерных простыней.


Так ясно. Векторизация - да, годная фишка. А вымученных 10-15% - ни о чем.

Сообщение было отредактировано: 3 мар 20, 22:54
3 мар 20, 22:48    [22092027]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4217
makhaon
Тогда дорога в видюхи. Кто сейчас такие задачи решает на процессорах?

Ты читаешь вообще? Написал же, что текущие задачи не вычислительные.
3 мар 20, 23:03    [22092035]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 61152
Медиа-обработка какая-нибудь?
3 мар 20, 23:04    [22092036]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 12226
makhaon
Тогда дорога в видюхи. Кто сейчас такие задачи решает на процессорах?
На GPU не все задачи можно решать, время на закачку данных/выгрузку результата может многократно превышать собственно обработку.
3 мар 20, 23:08    [22092041]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 1557 1558 1559 1560 1561 [1562] 1563 1564 1565 1566 1567   вперед  Ctrl
Все форумы / Delphi Ответить