Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4      [все]
 кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
Qt только выглядит страшно или он такой же страшный asm выдаёт?
28 апр 21, 21:46    [22315985]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34697
бабушкин зайчик,

Чёго?
Зайчег, чёго ты хочишь?
28 апр 21, 22:23    [22316003]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34697
И вообще: @qt_chat
28 апр 21, 22:24    [22316004]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
ну, например, пишешь какой-то UX на Qt... и НЕ на Qt (сам из либ собираешь)
производительность/asm кто-то сравнивал?

пример:
28 апр 21, 23:04    [22316020]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
бабушкин зайчик,
Ты плохой пример приведи.
Которого боишься с детства.
28 апр 21, 23:44    [22316035]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34697
PetroNotC Sharp,

Помню, зайчиков нельзя швырять в терновый куст...
29 апр 21, 00:11    [22316048]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
MasterZiv,
))) юмор пять баллов
29 апр 21, 07:33    [22316099]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
бабушкин зайчик
Qt только выглядит страшно или он такой же страшный asm выдаёт?

В этом форуме обычно код обсуждают. Мы-ж не гуманитарии?

Словесное порицание чего-то заканчивается обычно закрытием топика.

Это из личного опыта.
29 апр 21, 10:28    [22316164]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Ты прав.
...
Сейчас искал ошибку в проекте одном легаси.
std::min не находила ide функцию min в iostream.
Оказалось что MS забубенило макрос с тем же именем min и это перебило код выше в системной либе)))
29 апр 21, 11:19    [22316198]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
#define TRUE FALSE
29 апр 21, 11:31    [22316206]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton
#define TRUE FALSE
я новичок. Это что?
29 апр 21, 11:33    [22316207]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
Один из программистких приколов.
29 апр 21, 11:35    [22316208]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Basil A. Sidorov,
Теперь понял)
29 апр 21, 11:54    [22316221]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

PetroNotC Sharp
MS забубенило макрос с тем же именем min

В каком заголовке?

Posted via ActualForum NNTP Server 1.5

29 апр 21, 12:18    [22316238]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
petrav
Member

Откуда:
Сообщений: 2944
PetroNotC Sharp
mayton,
Ты прав.
...
Сейчас искал ошибку в проекте одном легаси.
std::min не находила ide функцию min в iostream.
Оказалось что MS забубенило макрос с тем же именем min и это перебило код выше в системной либе)))

//
// Запретим файлу `<Windows.h>` определять макросы `min` и `max`, что бы
// работали функции `std::max()` и `std::min()`.
//
#define NOMINMAX
29 апр 21, 12:23    [22316241]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

#ifndef __cplusplus
#ifndef NOMINMAX
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif

Никого не смущает код, пытающийся использовать std::max не в С++ языке?..

Posted via ActualForum NNTP Server 1.5

29 апр 21, 12:35    [22316253]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
petrav,
Уже сделал
29 апр 21, 12:38    [22316256]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov,
Компилятор встал тут на ошибке
http://cs.brown.edu/people/jwicks/libstdc /html_user/sstream_8tcc-source.html
29 апр 21, 12:40    [22316261]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov
PetroNotC Sharp
MS забубенило макрос с тем же именем min

В каком заголовке?
в сети писали что виновен то ли гугл толи MS
29 апр 21, 12:41    [22316263]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

PetroNotC Sharp
Компилятор встал тут на ошибке

А зачем ты пытаешься скармливать MS исходники какому-то левому компилятору? Если TCC не
определяет макрос __cplusplus, то это его проблемы.

Posted via ActualForum NNTP Server 1.5

29 апр 21, 12:56    [22316283]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov
PetroNotC Sharp
Компилятор встал тут на ошибке

А зачем ты пытаешься скармливать MS исходники какому-то левому компилятору? Если TCC не
определяет макрос __cplusplus, то это его проблемы.
Qt creator, Clang.
Не понял тебя.
29 апр 21, 12:58    [22316285]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov,
Компилятор по умолчанию.
29 апр 21, 12:59    [22316287]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
petrav
Member

Откуда:
Сообщений: 2944
Dimitry Sibiryakov

#ifndef __cplusplus
#ifndef NOMINMAX
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif

Никого не смущает код, пытающийся использовать std::max не в С++ языке?..

Практика (в Студии) говорит о другом.
29 апр 21, 13:01    [22316291]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

PetroNotC Sharp
Не понял тебя.

У библиотеки в названии ясно написано, что она для TCC.
И да, неопределение макроса __cplusplus - в любом случае проблема компилятора или
процедуры сборки.

Posted via ActualForum NNTP Server 1.5

29 апр 21, 13:02    [22316293]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
mayton
бабушкин зайчик
Qt только выглядит страшно или он такой же страшный asm выдаёт?

В этом форуме обычно код обсуждают. Мы-ж не гуманитарии?

Словесное порицание чего-то заканчивается обычно закрытием топика.

Это из личного опыта.

зато когда оффтоп, можно ничего не делать
29 апр 21, 13:02    [22316294]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
petrav
Member

Откуда:
Сообщений: 2944
Dimitry Sibiryakov

PetroNotC Sharp
Не понял тебя.

У библиотеки в названии ясно написано, что она для TCC.

А что такое ТСС? :)
29 апр 21, 13:05    [22316298]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov,
Вот на другом адресе
https://github.com/gcc-mirror/gcc/blob/master/libstdc -v3/include/bits/sstream.tcc
29 апр 21, 13:07    [22316300]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

petrav
А что такое ТСС? :)

Это совершенно левый компилятор Си.
И таки да, библиотека для GCC с твоим clang-ом - тоже бесполезна.

Posted via ActualForum NNTP Server 1.5

29 апр 21, 13:11    [22316303]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
бабушкин зайчик
mayton
пропущено...

В этом форуме обычно код обсуждают. Мы-ж не гуманитарии?

Словесное порицание чего-то заканчивается обычно закрытием топика.

Это из личного опыта.

зато когда оффтоп, можно ничего не делать

Давай код на Qt. Посмотрим что у тебя получилось страшно и что не очень страшно.
29 апр 21, 13:17    [22316307]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
mayton, а зачем мне ты, если я сам могу написать страшно и не страшно, а потом асм сравнить?
ты название темы то читал вообще или заняться нечем?

Сообщение было отредактировано: 29 апр 21, 13:28
29 апр 21, 13:37    [22316326]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Да я боюсь что начну писать и провалюсь в перфекционизм. Понимаешь? Нудный я. Дотошный. Вот и надеялся что
автор не поленится сделать 2 hello world и покажет бинари.
29 апр 21, 13:39    [22316329]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

бабушкин зайчик
ты название темы то читал вообще или заняться нечем?

У тебя название темы совершенно бессмысленное, как у спамобота. Qt это фреймворк,
написанный на С++. Asm в нём нет. Словосочетание "обычный asm" ещё более бессмысленное,
поскольку ассемблер это язык и как таковой не имеет "обычной" формы.

Posted via ActualForum NNTP Server 1.5

29 апр 21, 13:40    [22316330]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov
petrav
А что такое ТСС? :)

Это совершенно левый компилятор Си.
И таки да, библиотека для GCC с твоим clang-ом - тоже бесполезна.

Что звать левым то.
Это default Qt. Переходят на другой но еще не перешли.
А либа iostream вроде.
29 апр 21, 13:56    [22316349]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
Dimitry Sibiryakov, я думал всем очевидно, что Qt это не компилятор...
ну ладно, я поясню:
две одинаковых программы на Qt и НЕ на Qt - будет ли у них одинаковый asm или, хотя бы, производительность?

mayton, та накой мне hello world...
я спрашивал у тех, кто плотно подсел на Qt, был ли у них такой опыт
29 апр 21, 13:59    [22316352]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dima T
Member

Откуда:
Сообщений: 15795
бабушкин зайчик
две одинаковых программы на Qt и НЕ на Qt - будет ли у них одинаковый asm или, хотя бы, производительность?

Как они будут одинаковые если код будет разный? Или ты свой Qt напишешь сначала?
29 апр 21, 14:06    [22316355]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

бабушкин зайчик
я думал всем очевидно, что Qt это не компилятор...
ну ладно, я поясню:
две одинаковых программы на Qt и НЕ на Qt - будет ли у них одинаковый asm или, хотя бы,
производительность?

Я думал, что и тебе очевидно, что Qt это не компилятор и даже не язык программирования.
Поэтому не могут в природе существовать "две одинаковых программы на Qt и НЕ на Qt". Они
по определению будут РАЗНЫМИ.

Posted via ActualForum NNTP Server 1.5

29 апр 21, 14:06    [22316356]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
petrav
Member

Откуда:
Сообщений: 2944
Dimitry Sibiryakov

бабушкин зайчик
я думал всем очевидно, что Qt это не компилятор...
ну ладно, я поясню:
две одинаковых программы на Qt и НЕ на Qt - будет ли у них одинаковый asm или, хотя бы,
производительность?

Я думал, что и тебе очевидно, что Qt это не компилятор и даже не язык программирования.
Поэтому не могут в природе существовать "две одинаковых программы на Qt и НЕ на Qt". Они
по определению будут РАЗНЫМИ.

Ну если однажды Qt разовьётся до уровня .NET, то будут виртуальная машина и Qt ASM.
29 апр 21, 14:10    [22316358]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
бабушкин зайчик,
Тормоза в программах во втором тысячилетии, это твои личные страхи.
Прекращай пороть ерунду.
29 апр 21, 14:10    [22316359]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

PetroNotC Sharp
Тормоза в программах во втором тысячилетии, это твои личные страхи.

Да, нынче уже никто не боится тормозов. "Наша программа запускается пять минут? Проблема
на вашей стороне, обзаведитесь SSD и памятью в 128 гигабайт!"

Posted via ActualForum NNTP Server 1.5

29 апр 21, 14:23    [22316370]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
микроконтроллеры особенно ничего не боятся
и ограниченные мозги, считающие эту скорость верхом эволюции
она же даже не световая...
а если ещё учесть кол-во потерь на неэффективной архитектуре атомов в памяти и электросоединениях...
29 апр 21, 14:30    [22316377]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
Dimitry Sibiryakov
бабушкин зайчик
я думал всем очевидно, что Qt это не компилятор...
ну ладно, я поясню:
две одинаковых программы на Qt и НЕ на Qt - будет ли у них одинаковый asm или, хотя бы,
производительность?

Я думал, что и тебе очевидно, что Qt это не компилятор и даже не язык программирования.
Поэтому не могут в природе существовать "две одинаковых программы на Qt и НЕ на Qt". Они
по определению будут РАЗНЫМИ.

"две одинаковых" - значит делающих одно и тоже
мда
29 апр 21, 14:32    [22316379]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

бабушкин зайчик
микроконтроллеры особенно ничего не боятся

Удачи тебе с Qt на микроконтроллерах...

Posted via ActualForum NNTP Server 1.5

29 апр 21, 14:37    [22316383]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
Dimitry Sibiryakov
бабушкин зайчик
микроконтроллеры особенно ничего не боятся

Удачи тебе с Qt на микроконтроллерах...

ух ты первое сообщение по теме
29 апр 21, 14:51    [22316398]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dima T
Member

Откуда:
Сообщений: 15795
бабушкин зайчик
"две одинаковых" - значит делающих одно и тоже
мда

Точнее надо выражовываться ))

Ты спрашивал будет ли одинаковый асм, т.е. одинаково откомпилируются. Такое может быть только если исходный код одинаковый, т.к. разный код компилируется в разный асм.

Про производительность тоже странный вопрос. Qt не от хорошей жизни используют, а потому что штатных средств нет, т.е. вместо Qt надо будет другую библиотеку.
29 апр 21, 15:15    [22316416]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov
бабушкин зайчик
микроконтроллеры особенно ничего не боятся

Удачи тебе с Qt на микроконтроллерах...
это он на бегу усложняет)
29 апр 21, 15:15    [22316417]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Тут тема топика - микроконтроллеры. С этого надо было начинать.
29 апр 21, 15:16    [22316419]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
Dima T
бабушкин зайчик
"две одинаковых" - значит делающих одно и тоже
мда

Точнее надо выражовываться ))

Ты спрашивал будет ли одинаковый асм, т.е. одинаково откомпилируются. Такое может быть только если исходный код одинаковый, т.к. разный код компилируется в разный асм.

это ведь от компилятора зависит
C++ ведь выдаёт такой же асм, как и C...
я не знаю как ещё точнее выразиться, мне интересна целесообразность использования Qt с т.з. производительности, когда не стоит вопрос о других инструментах (они есть)
29 апр 21, 16:02    [22316442]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
mayton
Тут тема топика - микроконтроллеры.

нет
29 апр 21, 16:04    [22316443]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

бабушкин зайчик
мне интересна целесообразность использования Qt с т.з. производительности, когда не стоит
вопрос о других инструментах (они есть)

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

Posted via ActualForum NNTP Server 1.5

29 апр 21, 16:21    [22316450]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
как ассемблер то может быть "ни при чём", если итоговая производительность зависит от потока его инструкций...
и раз "дело в архитектуре", значит именно архитектура является главной причиной того, что компиляторы выдают говно-асм
29 апр 21, 16:33    [22316458]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

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

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

Posted via ActualForum NNTP Server 1.5

29 апр 21, 16:40    [22316463]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

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

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

это конечно, не спорю, но алгоритм то всё равно асм выдаст другой...
другое дело, что сравнивать разный асм-код это довольно трудоёмко и, в целом, неправильно
но это только для нас, людей, нам проще алгоритмы мерять и производительность
29 апр 21, 16:45    [22316466]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Dimitry Sibiryakov

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

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

Низкоуровневая может дать и больше. Я думаю что все зависит от удачно подобранных ключей оптимизации.
Но если мы соберем Qt/NonQt сборки для одного алгоритма для целевого ассемблера x86 и увидим что разницы нет,
(благодаря какой-то там оптимизации) а Зайчик в это время соберет этот-же алгоритм для своего Ардуино и окажется
что для его стека разница есть и очень даже - и что мы будем с этим фактом делать? Вот поэтому асм и контроллер
важен.
29 апр 21, 16:54    [22316471]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

QtCreator - написан с применением Qt.
Code::Blocks - написан без Qt.
Функциональность примерно одинаковая.
Можешь сравнить быстродействие, алгоритмы и asm.
Удачи.

Posted via ActualForum NNTP Server 1.5

29 апр 21, 16:54    [22316473]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
если под "низкоуровневой" подразумевается именно правка ассемблера, то это не мой случай, я в такой правке никакого смысла не вижу (даже на микроконтроллерах проще C заюзать), потому что голый асм мало того, что сложно поддерживать, так он ещё и разный на разных платформах
а толку 0, ибо C выдаст такой же асм сегодня
а C++ выдаст такой же асм, как и C (но это не точно)

Сообщение было отредактировано: 29 апр 21, 16:54
29 апр 21, 17:02    [22316475]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Тогда зачем ты вообще в заголовке asm упомянул?

Posted via ActualForum NNTP Server 1.5

29 апр 21, 17:31    [22316486]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
как критерий качества
но правильнее было про производительность спросить
29 апр 21, 17:44    [22316498]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dima T
Member

Откуда:
Сообщений: 15795
бабушкин зайчик
Dimitry Sibiryakov
пропущено...

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

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

У тебя каша в голове. Компилятор алгоритм не меняет. Например сумму чисел от M до N можно считать в цикле, а можно по формуле суммы арифметической прогрессии. Так вот компилятор не заменит цикл на формулу.
29 апр 21, 18:45    [22316517]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
цикл нет (пока), но про оптимизации ты же слышал? Для них даже придумали -O123
В твоей формуле может быть херня с лишним вызовом функций, или неэффективно использованный кэш, невыровненные данные, и т.п.
тогда он перелопатит твой код и asm будет другой, нежели без -O
нонешние компиляторы уже довольно "умные"

Сообщение было отредактировано: 29 апр 21, 20:40
29 апр 21, 20:47    [22316564]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
бабушкин зайчик,
Действительно. Назвали бы тему микроконтроллеры. А не Qt для формошлепства.
Может попробуете по новой?
Вас ГУИ чтобы тыкать мышкой не интересует.
29 апр 21, 21:16    [22316568]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
меня интересуют не микроконтроллеры, а Qt
29 апр 21, 21:21    [22316571]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
бабушкин зайчик,
Разверните фразу.
Фреймворк Qt это дельфи для линукса.
29 апр 21, 21:33    [22316574]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
бабушкин зайчик,
Значит вы еще не оформились в своих хотелках.
Просите Qt а выше разговоры про компиляторы и их алгоритмы
29 апр 21, 21:47    [22316577]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6493
бабушкин зайчик
меня интересуют не микроконтроллеры, а Qt

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

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

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

Это примитивное мнение. Qt - это что то вроде WPF/UWP, гораздо более продвинутое.
29 апр 21, 22:06    [22316584]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Siemargl,
Я писал и на wpf и на дельфи.
Там XAML а там dfm.
Разница не столь большая для обсуждения.
29 апр 21, 22:25    [22316587]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6493
PetroNotC Sharp
Siemargl,
Я писал и на wpf и на дельфи.
Там XAML а там dfm.
Разница не столь большая для обсуждения.

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

Впрочем, я тоже =)
29 апр 21, 22:55    [22316595]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dima T
Member

Откуда:
Сообщений: 15795
бабушкин зайчик
цикл нет (пока), но про оптимизации ты же слышал? Для них даже придумали -O123
В твоей формуле может быть херня с лишним вызовом функций, или неэффективно использованный кэш, невыровненные данные, и т.п.
тогда он перелопатит твой код и asm будет другой, нежели без -O
нонешние компиляторы уже довольно "умные"

Я не считаю это изменением алгоритма. Назовем это адаптацией под процессор. Там же достаточно банальные преобразования делаются.
ИМХО Основной выигрыш дает инлайн коротких функций/методов, т.к. стандартный вызов имеет оверхэд в виде записи в стэк параметров, регистров процессора и последующего их восстановления.
Как уже выше сказали это дает не более 5% ускорения.
30 апр 21, 07:36    [22316646]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Siemargl,
Да. Есть небольшие различия... Но не в ассемблере)))
30 апр 21, 07:37    [22316648]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
Dima T
Я не считаю это изменением алгоритма. Назовем это адаптацией под процессор. Там же достаточно банальные преобразования делаются.

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

ну а как же циклы, матрицы, кэш-миссы? В играх (и не только) такие косяки убьют всё.
30 апр 21, 15:42    [22316972]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dima T
Member

Откуда:
Сообщений: 15795
бабушкин зайчик
там делаются любые преобразования, до тех пор, пока компилятор уверен, что ничего не попортит ...

Не попортит что? Наверно алгоритм задуманный разработчиком. Вот и получается что алгоритм важнее, а оптимизации вторичны.
30 апр 21, 18:18    [22317039]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
бабушкин зайчик

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

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

Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали
компиллятора или фреймворка который будет cache-friendly.
1 май 21, 17:49    [22317272]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
White Owl
Member

Откуда:
Сообщений: 12733
mayton
Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали
компиллятора или фреймворка который будет cache-friendly.
Почему это вдруг "не создали"? А GCC тебе чем не кеш-френдли? Просто скажи ему для какого процессора надо делать - сделает. Да ему даже можно указывать конкретные размеры кешей, отдельно для L1 и для L2 если у тебя какой-то необычный процессор.
1 май 21, 19:31    [22317284]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
А где-то есть оценка такой супероптимизации для "обычных" условий?
Или, всё-таки, "подгонкой под кэш" занимаются только те, кто может обеспечить "монополизацию" процессора своим приложением?
2 май 21, 11:19    [22317404]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
White Owl
mayton
Это нужно рассматривать в контексте "алгоритма и структур данных". Еще не создали
компиллятора или фреймворка который будет cache-friendly.
Почему это вдруг "не создали"? А GCC тебе чем не кеш-френдли? Просто скажи ему для какого процессора надо делать - сделает. Да ему даже можно указывать конкретные размеры кешей, отдельно для L1 и для L2 если у тебя какой-то необычный процессор.

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

Я хочу хотя-бы на элементарном уровне разложить свои данные на 2 кучки. Одна кучка - меня интересует
в кеше. На другую мне - плевать. По аналогии с Oracle опцией buffer_pool = { KEEP | DEFAULT }
2 май 21, 11:31    [22317409]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 205
mayton
Я хочу хотя-бы на элементарном уровне разложить свои данные на 2 кучки. Одна кучка - меня интересует в кеше. На другую мне - плевать.

они всегда будут в кэше...
А ты можешь лишь разложить данные по структурам и подогнать их под cache-line

Сообщение было отредактировано: 2 май 21, 14:51
2 май 21, 14:59    [22317484]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
бабушкин зайчик
mayton
Я хочу хотя-бы на элементарном уровне разложить свои данные на 2 кучки. Одна кучка - меня интересует в кеше. На другую мне - плевать.

они всегда будут в кэше...
А ты можешь лишь разложить данные по структурам и подогнать их под cache-line

Вот я-ж про это и говорю. Нет в языке механики управления cache-friendly. Пока сам разработчик не разложит
структуры данных так чтоб было компактно и когерентно - ничего компиллятор не сделает.
2 май 21, 16:51    [22317546]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
White Owl
Member

Откуда:
Сообщений: 12733
mayton
White Owl
пропущено...
Почему это вдруг "не создали"? А GCC тебе чем не кеш-френдли? Просто скажи ему для какого процессора надо делать - сделает. Да ему даже можно указывать конкретные размеры кешей, отдельно для L1 и для L2 если у тебя какой-то необычный процессор.

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

mayton
Я хочу хотя-бы на элементарном уровне разложить свои данные на 2 кучки. Одна кучка - меня интересует
в кеше. На другую мне - плевать. По аналогии с Oracle опцией buffer_pool = { KEEP | DEFAULT }
Кучка чего и кучка чего?
Оптимизаторы (того-же gcc) вполне умеют переносить переменные сразу в регистр вместо стека если это возможно (ну или вообще в константу превращать).

Но в принципе, ты же можешь задать что мол размер L1/2 кеша у тебя в 1Мб, что с учетом того что в современных ЦПУ уже и 16Мб не редкость, то ты можешь быть уверен что какой-нибудь часто используемый массивчик меньше этого размера обязательно в кеш попадет.

Тут те-же соображения что и с Ораклом - если у тебя есть достаточно памяти и таблица достаточно маленькая - оракл будет стараться держать ее в кеше. Ключевое слово "стараться". Не обязательно что получиться, конечно, но некоторый шанс на успех будет. Так же и с компиляторами.
3 май 21, 18:21    [22317912]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
White Owl
Member

Откуда:
Сообщений: 12733
mayton
бабушкин зайчик
пропущено...

они всегда будут в кэше...
А ты можешь лишь разложить данные по структурам и подогнать их под cache-line

Вот я-ж про это и говорю. Нет в языке механики управления cache-friendly. Пока сам разработчик не разложит
структуры данных так чтоб было компактно и когерентно - ничего компиллятор не сделает.
Да почему "нет" то??
Есть. Вернее, в языке есть способ порушить кеш-дружелюбность (хорошее слово, однако :)
Просто не определяй #pragma pack для структуры и компилятор ее вполне себе оптимизировано для кеша положит. Вот если ты ее принудительно упакуешь как-то, тогда да - потеряешь эту самую кеш-дружелюбность.
3 май 21, 18:26    [22317913]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

White Owl
Просто не определяй #pragma pack для структуры и компилятор ее вполне себе оптимизировано
для кеша положит.

Увы, не для кэша, а для выборки отдельных полей.

Posted via ActualForum NNTP Server 1.5

3 май 21, 18:51    [22317927]     Ответить | Цитировать Сообщить модератору
 Re: кто-то сравнивал asm от Qt и обычный?  [new]
White Owl
Member

Откуда:
Сообщений: 12733
Dimitry Sibiryakov

White Owl
Просто не определяй #pragma pack для структуры и компилятор ее вполне себе оптимизировано
для кеша положит.

Увы, не для кэша, а для выборки отдельных полей.
Ну это тоже можно порушить - volatile и будет переменная гарантированно в памяти а не в кеше или регистре.
3 май 21, 19:11    [22317935]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / C++ Ответить