LINUX.ORG.RU

Почему программы на с++ тормозят :)

 ,


1

3

https://www.computerenhance.com/p/welcome-to-the-performance-aware

ах, наконец-то кто-то заметил слона в посудной лавке :-)

Видео, 22 минуты https://m.youtube.com/watch?v=tD5NrevFtbU

Заменяем крутой полиморфизм на тупой свитч - получаем 1.5 ускорения :) Я так понял конечно тут еще компилятор виновен, может ему можно как-то явно указать кто и куда морфирует в данной программе .. но результат пока (под вин, судя по notepad++ и оформлению окон) явно не в пользу красивого программирования.

В тред приглашаются программисты со своими (анти)примерами :)

едит: исправил ссылку на видео

★★★★★

Последнее исправление: Andrew-R (всего исправлений: 1)
Ответ на: комментарий от fluorite

Версия компилятора?

https://godbolt.org/z/PjW381xr9

Можно поиграть. Хотя реально получается, что только gcc 12 и clang 15 полностью избавляются от call заинлайнев все методы. До этого строили таблицу вызовов на методы, по индексу типа.

Но всё это баловство. И типа «ручная векторизация через четыре переменных суммирования» из статьи тоже. Для последней вообще не факт, что компилятор сделает всё векторными операциями. Тут опции компиляции более важны, тем более, что для разных -march совершенно разный код получается. -ffast-math то же не плохо подходит для сабжевого примера. Ну и если нужна векторизация, то и данные должны быть соответствующие.

AlexVR ★★★★★
()
Ответ на: комментарий от umren

Да, всё так.
Это одна из причин почему приложения на питоне работают в среднем в десять раз быстрее чем аналогичные на яве и в сто раз быстрее чем на похапе.
Потому что на питоне сложнее что-то сделать не понимая как оно работает.
И ещё потому что хорошей логике много вычислительных ресурсов не нужно и даже двадцать лет назад их уже в большом избытке было.

Goury ★★★★★
()
Ответ на: комментарий от Goury

Значит надо писать на не убер оверхедной. Мы пишем и у нас ничего не тормозит.

Так браузер - это и есть убер оверхедная платформа. Не писать на ней - значит не писать на js.

Вот давай приведу пример: вот эта галлерея https://ab.onliner.by/geely/coolray/4886364 у меня время от времени тормозит на i7-1165G7 со встроенной графикой. При запущенной компиляции в Qt Creator (система win11, 32Gb Ram, i7-1165G7 со встроенной графикой). При этом если открыть explorer / totalcmd / fast stone image viewer открыть каталог с фотками и попроматывать вверх - вниз за полосу прокрутки, неравномерно и с разной скоростью движения или тачпадом свайпнуть, чтобы использовалась инерционная прокрутка - то чудо, ничего не тормозит. Получается, что указанная по ссылке галерея требует на эффект анимации бокового движения больше ресурсов. Или галерея написано очень неоптимально. Но вот такие же тормоза я замечал не только по указанной сслыке, а много где. Что ты мне предложешь? Не компилировать ничего во время просмотра вебни? Или что еще? Или нужно привлечь нормальных разрабов на разработку галереи? Да вот в том то и дело, что невозможно писать на такой платформе без оверхеда.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Давай лучше не брехай.
И писать без JS не мешает абсолютно ничего кроме безграничной тупости писателей и каких-то бредовых посылов от таких же менеджеров.
Галерея с одной буквой «л» пишется в русском языке.

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

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

А ещё можно не посещать всякое говно в интернете.
А галерея без жабаскрипта пишется элементарно.
Писателю надо просто не быть предельно тупым, что, конечно, не просто.
Тем более в это нелёгкое время.

Не компилировать ничего во время просмотра вебни?

А потом ещё выяснится что ты канпеляешь в 8+ потоков, ага.
Прямо как в том анекдоте.

Goury ★★★★★
()
Последнее исправление: Goury (всего исправлений: 4)
Ответ на: комментарий от Goury

Галерея с одной буквой «л» пишется в русском языке.

Спасибо.

Давай лучше не брехай.

Раз уж ты про русский язык вспомнил, тогда правильно «не бреши»

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

Там выше написано, что тормозит при боковой прокрутке при запущенной компиляции. Есть явно заметные фризы при проматывании вправо.

А ещё можно не посещать всякое говно в интернете.

А еще можно компьютер не включать.

А потом ещё выяснится что ты канпеляешь в 8+ потоков, ага. Прямо как в том анекдоте.

Да, в 8. А как иначе?

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

Засрал форточку / драйвера плохие - какая классная отмазка. Подойдет для тети Клавы из отдела бухгалтерии, наверно.

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

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rumgot

тормозит при боковой прокрутке при запущенной компиляции

— Доктор, когда я делаю так, мне больно
— Не делай

У меня не тормозит даже при компиляции с полной загрузкой цпу.

в 8. А как иначе?

7 или приоритет канпелятору надо ниже ставить.
Иначе кто же виноват в том что твоя форточка не умеет в многозадачность.

в стандартном explorer или в totalcmd ничего не тормозит

Ну вот в них картинки и смотри, зачем тебе какой-то белорусский говносайт?

Goury ★★★★★
()
Ответ на: комментарий от Goury

У меня не тормозит даже при компиляции с полной загрузкой цпу.

Значит либо ты не замечаешь, либо не хочешь замечать, либо твоя 100%-ая компиляция не такая уж 100%-ая.

7 или приоритет канпелятору надо ниже ставить.

Пффф… Делать нефиг больше. Я должен добавлять время к компиляции, потому что вебня требует овердохера ресурсов на элементарную функцию.

Иначе кто же виноват в том что твоя форточка не умеет в многозадачность.

Хахаха. Вебне + js не хватает ресурсов, а мне это исправлять? Чушь какая-то.

Ну вот в них картинки и смотри, зачем тебе какой-то белорусский говносайт?

а это не важно. Факт в том, что js - это оверхед и тормоза. И то, что ты там заявляешь, что мол у тебя ничего не тормозит - это ложь и самообман или ты недостаточно загрузил систему.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 2)
Ответ на: комментарий от rumgot

это ложь

Думаешь?

У меня ... открыто двести вкладок в фаерфоксе и ещё по столько же в трёх других браузерах

приложения на питоне работают в среднем в десять раз быстрее чем аналогичные на яве и в сто раз быстрее чем на похапе.

Да не, похоже на правду бггг.

thesis ★★★★★
()