|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчиккак ассемблер то может быть "ни при чём", если итоговая производительность зависит от потока его инструкций... Легко: низкоуровневая оптимизация кода способна дать 2-5% прироста производительности, в то время как смена алгоритма решения задачи - на порядки (да, в 10-100 раз). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 16:40 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov бабушкин зайчиккак ассемблер то может быть "ни при чём", если итоговая производительность зависит от потока его инструкций... Легко: низкоуровневая оптимизация кода способна дать 2-5% прироста производительности, в то время как смена алгоритма решения задачи - на порядки (да, в 10-100 раз). это конечно, не спорю, но алгоритм то всё равно асм выдаст другой... другое дело, что сравнивать разный асм-код это довольно трудоёмко и, в целом, неправильно но это только для нас, людей, нам проще алгоритмы мерять и производительность ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 16:45 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov бабушкин зайчиккак ассемблер то может быть "ни при чём", если итоговая производительность зависит от потока его инструкций... Легко: низкоуровневая оптимизация кода способна дать 2-5% прироста производительности, в то время как смена алгоритма решения задачи - на порядки (да, в 10-100 раз). Низкоуровневая может дать и больше. Я думаю что все зависит от удачно подобранных ключей оптимизации. Но если мы соберем Qt/NonQt сборки для одного алгоритма для целевого ассемблера x86 и увидим что разницы нет, (благодаря какой-то там оптимизации) а Зайчик в это время соберет этот-же алгоритм для своего Ардуино и окажется что для его стека разница есть и очень даже - и что мы будем с этим фактом делать? Вот поэтому асм и контроллер важен. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 16:54 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
QtCreator - написан с применением Qt. Code::Blocks - написан без Qt. Функциональность примерно одинаковая. Можешь сравнить быстродействие, алгоритмы и asm. Удачи. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 16:54 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
если под "низкоуровневой" подразумевается именно правка ассемблера, то это не мой случай, я в такой правке никакого смысла не вижу (даже на микроконтроллерах проще C заюзать), потому что голый асм мало того, что сложно поддерживать, так он ещё и разный на разных платформах а толку 0, ибо C выдаст такой же асм сегодня а C++ выдаст такой же асм, как и C (но это не точно) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 17:02 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
Тогда зачем ты вообще в заголовке asm упомянул? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 17:31 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
как критерий качества но правильнее было про производительность спросить ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 17:44 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчик Dimitry Sibiryakov пропущено... Легко: низкоуровневая оптимизация кода способна дать 2-5% прироста производительности, в то время как смена алгоритма решения задачи - на порядки (да, в 10-100 раз). это конечно, не спорю, но алгоритм то всё равно асм выдаст другой... У тебя каша в голове. Компилятор алгоритм не меняет. Например сумму чисел от M до N можно считать в цикле, а можно по формуле суммы арифметической прогрессии. Так вот компилятор не заменит цикл на формулу. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 18:45 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
цикл нет (пока), но про оптимизации ты же слышал? Для них даже придумали -O123 В твоей формуле может быть херня с лишним вызовом функций, или неэффективно использованный кэш, невыровненные данные, и т.п. тогда он перелопатит твой код и asm будет другой, нежели без -O нонешние компиляторы уже довольно "умные" ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 20:47 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчик, Действительно. Назвали бы тему микроконтроллеры. А не Qt для формошлепства. Может попробуете по новой? Вас ГУИ чтобы тыкать мышкой не интересует. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 21:16 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
меня интересуют не микроконтроллеры, а Qt ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 21:21 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчик, Разверните фразу. Фреймворк Qt это дельфи для линукса. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 21:33 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчик, Значит вы еще не оформились в своих хотелках. Просите Qt а выше разговоры про компиляторы и их алгоритмы ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 21:47 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчик меня интересуют не микроконтроллеры, а Qt Qt считается весьма компактным (в коммерческой версии) и быстрым. Есть масса примеров применений и сравнений скорости. Для внедряемых систем коммерческая лицензия очень дорогая. PetroNotC Sharp бабушкин зайчик, Разверните фразу. Фреймворк Qt это дельфи для линукса. Это примитивное мнение. Qt - это что то вроде WPF/UWP, гораздо более продвинутое. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 22:06 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
Siemargl, Я писал и на wpf и на дельфи. Там XAML а там dfm. Разница не столь большая для обсуждения. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 22:25 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Siemargl, Я писал и на wpf и на дельфи. Там XAML а там dfm. Разница не столь большая для обсуждения. Значит ты не понял MVVM, которого в Дельфе нет. Впрочем, я тоже =) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 22:55 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчик цикл нет (пока), но про оптимизации ты же слышал? Для них даже придумали -O123 В твоей формуле может быть херня с лишним вызовом функций, или неэффективно использованный кэш, невыровненные данные, и т.п. тогда он перелопатит твой код и asm будет другой, нежели без -O нонешние компиляторы уже довольно "умные" Я не считаю это изменением алгоритма. Назовем это адаптацией под процессор. Там же достаточно банальные преобразования делаются. ИМХО Основной выигрыш дает инлайн коротких функций/методов, т.к. стандартный вызов имеет оверхэд в виде записи в стэк параметров, регистров процессора и последующего их восстановления. Как уже выше сказали это дает не более 5% ускорения. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 07:36 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
Siemargl, Да. Есть небольшие различия... Но не в ассемблере))) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 07:37 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
Dima T Я не считаю это изменением алгоритма. Назовем это адаптацией под процессор. Там же достаточно банальные преобразования делаются. там делаются любые преобразования, до тех пор, пока компилятор уверен, что ничего не попортит т.е. если всё прозрачно и недвусмысленно, то он сделает оптимизацию А если там вариант "может быть программисту так надо", тогда не сделает Dima T ИМХО Основной выигрыш дает инлайн коротких функций/методов, ну а как же циклы, матрицы, кэш-миссы? В играх (и не только) такие косяки убьют всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 15:42 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчик там делаются любые преобразования, до тех пор, пока компилятор уверен, что ничего не попортит ... Не попортит что? Наверно алгоритм задуманный разработчиком. Вот и получается что алгоритм важнее, а оптимизации вторичны. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 18:18 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
бабушкин зайчик там делаются любые преобразования, до тех пор, пока компилятор уверен, что ничего не попортит т.е. если всё прозрачно и недвусмысленно, то он сделает оптимизацию А если там вариант "может быть программисту так надо", тогда не сделает Dima T ИМХО Основной выигрыш дает инлайн коротких функций/методов, ну а как же циклы, матрицы, кэш-миссы? В играх (и не только) такие косяки убьют всё. Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали компиллятора или фреймворка который будет cache-friendly. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 17:49 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
mayton Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали компиллятора или фреймворка который будет cache-friendly. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 19:31 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
А где-то есть оценка такой супероптимизации для "обычных" условий? Или, всё-таки, "подгонкой под кэш" занимаются только те, кто может обеспечить "монополизацию" процессора своим приложением? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2021, 11:19 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
White Owl mayton Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали компиллятора или фреймворка который будет cache-friendly. Я не хочу указывать конкретные размеры кешей. Мне это и не надо. Я не знаю какой будет целевой кеш и процессор. Я хочу хотя-бы на элементарном уровне разложить свои данные на 2 кучки. Одна кучка - меня интересует в кеше. На другую мне - плевать. По аналогии с Oracle опцией buffer_pool = { KEEP | DEFAULT } ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2021, 11:31 |
|
кто-то сравнивал asm от Qt и обычный?
|
|||
---|---|---|---|
#18+
mayton Я хочу хотя-бы на элементарном уровне разложить свои данные на 2 кучки. Одна кучка - меня интересует в кеше. На другую мне - плевать. они всегда будут в кэше... А ты можешь лишь разложить данные по структурам и подогнать их под cache-line ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2021, 14:59 |
|
|
start [/forum/topic.php?fid=57&msg=40067350&tid=2017220]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 375ms |
0 / 0 |