powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / кто-то сравнивал asm от Qt и обычный?
25 сообщений из 80, страница 3 из 4
кто-то сравнивал asm от Qt и обычный?
    #40067333
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчиккак ассемблер то может быть "ни при чём", если итоговая производительность зависит от
потока его инструкций...

Легко: низкоуровневая оптимизация кода способна дать 2-5% прироста производительности, в
то время как смена алгоритма решения задачи - на порядки (да, в 10-100 раз).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067335
Dimitry Sibiryakov
бабушкин зайчиккак ассемблер то может быть "ни при чём", если итоговая производительность зависит от
потока его инструкций...

Легко: низкоуровневая оптимизация кода способна дать 2-5% прироста производительности, в
то время как смена алгоритма решения задачи - на порядки (да, в 10-100 раз).
это конечно, не спорю, но алгоритм то всё равно асм выдаст другой...
другое дело, что сравнивать разный асм-код это довольно трудоёмко и, в целом, неправильно
но это только для нас, людей, нам проще алгоритмы мерять и производительность
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067340
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

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

Легко: низкоуровневая оптимизация кода способна дать 2-5% прироста производительности, в
то время как смена алгоритма решения задачи - на порядки (да, в 10-100 раз).

Низкоуровневая может дать и больше. Я думаю что все зависит от удачно подобранных ключей оптимизации.
Но если мы соберем Qt/NonQt сборки для одного алгоритма для целевого ассемблера x86 и увидим что разницы нет,
(благодаря какой-то там оптимизации) а Зайчик в это время соберет этот-же алгоритм для своего Ардуино и окажется
что для его стека разница есть и очень даже - и что мы будем с этим фактом делать? Вот поэтому асм и контроллер
важен.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067342
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QtCreator - написан с применением Qt.
Code::Blocks - написан без Qt.
Функциональность примерно одинаковая.
Можешь сравнить быстродействие, алгоритмы и asm.
Удачи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067344
если под "низкоуровневой" подразумевается именно правка ассемблера, то это не мой случай, я в такой правке никакого смысла не вижу (даже на микроконтроллерах проще C заюзать), потому что голый асм мало того, что сложно поддерживать, так он ещё и разный на разных платформах
а толку 0, ибо C выдаст такой же асм сегодня
а C++ выдаст такой же асм, как и C (но это не точно)
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067350
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда зачем ты вообще в заголовке asm упомянул?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067355
как критерий качества
но правильнее было про производительность спросить
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067358
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик
Dimitry Sibiryakov
пропущено...

Легко: низкоуровневая оптимизация кода способна дать 2-5% прироста производительности, в
то время как смена алгоритма решения задачи - на порядки (да, в 10-100 раз).

это конечно, не спорю, но алгоритм то всё равно асм выдаст другой...

У тебя каша в голове. Компилятор алгоритм не меняет. Например сумму чисел от M до N можно считать в цикле, а можно по формуле суммы арифметической прогрессии. Так вот компилятор не заменит цикл на формулу.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067395
цикл нет (пока), но про оптимизации ты же слышал? Для них даже придумали -O123
В твоей формуле может быть херня с лишним вызовом функций, или неэффективно использованный кэш, невыровненные данные, и т.п.
тогда он перелопатит твой код и asm будет другой, нежели без -O
нонешние компиляторы уже довольно "умные"
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067398
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик,
Действительно. Назвали бы тему микроконтроллеры. А не Qt для формошлепства.
Может попробуете по новой?
Вас ГУИ чтобы тыкать мышкой не интересует.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067400
меня интересуют не микроконтроллеры, а Qt
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067401
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик,
Разверните фразу.
Фреймворк Qt это дельфи для линукса.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067402
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик,
Значит вы еще не оформились в своих хотелках.
Просите Qt а выше разговоры про компиляторы и их алгоритмы
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067406
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик
меня интересуют не микроконтроллеры, а Qt

Qt считается весьма компактным (в коммерческой версии) и быстрым.
Есть масса примеров применений и сравнений скорости.

Для внедряемых систем коммерческая лицензия очень дорогая.

PetroNotC Sharp
бабушкин зайчик,
Разверните фразу.
Фреймворк Qt это дельфи для линукса.

Это примитивное мнение. Qt - это что то вроде WPF/UWP, гораздо более продвинутое.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067408
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,
Я писал и на wpf и на дельфи.
Там XAML а там dfm.
Разница не столь большая для обсуждения.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067412
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Siemargl,
Я писал и на wpf и на дельфи.
Там XAML а там dfm.
Разница не столь большая для обсуждения.

Значит ты не понял MVVM, которого в Дельфе нет.

Впрочем, я тоже =)
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067451
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик
цикл нет (пока), но про оптимизации ты же слышал? Для них даже придумали -O123
В твоей формуле может быть херня с лишним вызовом функций, или неэффективно использованный кэш, невыровненные данные, и т.п.
тогда он перелопатит твой код и asm будет другой, нежели без -O
нонешние компиляторы уже довольно "умные"

Я не считаю это изменением алгоритма. Назовем это адаптацией под процессор. Там же достаточно банальные преобразования делаются.
ИМХО Основной выигрыш дает инлайн коротких функций/методов, т.к. стандартный вызов имеет оверхэд в виде записи в стэк параметров, регистров процессора и последующего их восстановления.
Как уже выше сказали это дает не более 5% ускорения.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067453
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,
Да. Есть небольшие различия... Но не в ассемблере)))
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067651
Dima T
Я не считаю это изменением алгоритма. Назовем это адаптацией под процессор. Там же достаточно банальные преобразования делаются.

там делаются любые преобразования, до тех пор, пока компилятор уверен, что ничего не попортит
т.е. если всё прозрачно и недвусмысленно, то он сделает оптимизацию
А если там вариант "может быть программисту так надо", тогда не сделает
Dima T
ИМХО Основной выигрыш дает инлайн коротких функций/методов,

ну а как же циклы, матрицы, кэш-миссы? В играх (и не только) такие косяки убьют всё.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067687
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик
там делаются любые преобразования, до тех пор, пока компилятор уверен, что ничего не попортит ...

Не попортит что? Наверно алгоритм задуманный разработчиком. Вот и получается что алгоритм важнее, а оптимизации вторичны.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067785
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик

там делаются любые преобразования, до тех пор, пока компилятор уверен, что ничего не попортит
т.е. если всё прозрачно и недвусмысленно, то он сделает оптимизацию
А если там вариант "может быть программисту так надо", тогда не сделает
Dima T
ИМХО Основной выигрыш дает инлайн коротких функций/методов,

ну а как же циклы, матрицы, кэш-миссы? В играх (и не только) такие косяки убьют всё.

Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали
компиллятора или фреймворка который будет cache-friendly.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067793
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали
компиллятора или фреймворка который будет cache-friendly.
Почему это вдруг "не создали"? А GCC тебе чем не кеш-френдли? Просто скажи ему для какого процессора надо делать - сделает. Да ему даже можно указывать конкретные размеры кешей, отдельно для L1 и для L2 если у тебя какой-то необычный процессор.
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067864
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где-то есть оценка такой супероптимизации для "обычных" условий?
Или, всё-таки, "подгонкой под кэш" занимаются только те, кто может обеспечить "монополизацию" процессора своим приложением?
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067867
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
mayton
Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали
компиллятора или фреймворка который будет cache-friendly.
Почему это вдруг "не создали"? А GCC тебе чем не кеш-френдли? Просто скажи ему для какого процессора надо делать - сделает. Да ему даже можно указывать конкретные размеры кешей, отдельно для L1 и для L2 если у тебя какой-то необычный процессор.

Я не хочу указывать конкретные размеры кешей. Мне это и не надо. Я не знаю какой будет целевой кеш и процессор.

Я хочу хотя-бы на элементарном уровне разложить свои данные на 2 кучки. Одна кучка - меня интересует
в кеше. На другую мне - плевать. По аналогии с Oracle опцией buffer_pool = { KEEP | DEFAULT }
...
Рейтинг: 0 / 0
кто-то сравнивал asm от Qt и обычный?
    #40067899
mayton
Я хочу хотя-бы на элементарном уровне разложить свои данные на 2 кучки. Одна кучка - меня интересует в кеше. На другую мне - плевать.

они всегда будут в кэше...
А ты можешь лишь разложить данные по структурам и подогнать их под cache-line
...
Рейтинг: 0 / 0
25 сообщений из 80, страница 3 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / кто-то сравнивал asm от Qt и обычный?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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