LINUX.ORG.RU

Почему программы тормозят?

 


0

2

Сходу вижу следующих «виновников»:

  • Медленные запросы к субд / внешним (веб)сервисам.
  • Медленный дисковый (hdd) i/o.
  • Медленная сеть (большие задержки (latency) и/или пропускная способность).
  • Бесконечное бессмысленное копирование данных туда-сюда.
  • Блокировки на примитивах синхронизации (затраты на переключение контекста процесса/планировщик ядра).
  • Кеш-промахи.
  • Куча системных вызовов (syscall) с переключением в режим ядра.

Какие еще причины медленной работы ПО?
P.S. Кривая архитектура, алгоритмы и пр. ошибки проектирования не интересуют.

Ответ на: комментарий от Harald

все нужные ресурсы в память могут и не поместиться, тем более что игроделы не спешат осваивать 64 битные платформы

В мобильных играх нормально иметь пакет в ~20 МБ.

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

ну мы вроде не про них, а как бы про те, что под семёрочку максимальную, с графоном и всё такое

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

не всё так просто, при отрисовке каждого кадра какой-то кусок кода, принадлежащий ОС, обязательно вызывается, а не только код программы крутится

Конечно вызывается. Но ОСь, это не просто ядро. ОСь - это еще куча говна, которая и делает ОСь для пользователя торомозной.

все нужные ресурсы в память могут и не поместиться,

А зачем ВСЕ ресурсы сразу держать в памяти? Грузится то, что нужно для текущего состояния игры.

тем более что игроделы не спешат осваивать 64 битные платформы

А это вообще каки боком к ресурсам? Текстуры или меши от перехода на 64 бита не поменяются.

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

Либо он никакой не дебил и нужные ему операции из его предметной области прекрасно отображаются на API системы.

Если при этом они не являются узким местом, то почему бы и нет. Речь шла о тормозных частях системы. К примеру пользоваться стандартным аллокатором и дергать его каждый кадр - это признак работы программиста-дебила.

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

ОСь - это еще куча говна, которая и делает ОСь для пользователя торомозной.

Ну и хуанли ты тогда гонишь? Еще скажи, что гсофта на линуксе нет. И еще скажи, что в винде нельзя поотключать половину «говна, которая и делает ОСь для пользователя торомозной». Балабол ты.

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

У вас какие-то странные понятие об ОС. Т.е. ядро и драйвера это не уровень ОС, так?

Драйвера и ядро - это не есть ОСь. На ЛОРе постоянно твердят, что Linux не есть ОСь - это только ядро. Вот точно так же ntkernel.dll не есть ОСь - это только ядро.

Странные представления об ОСи именно у вас.

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

Конечно вызывается. Но ОСь, это не просто ядро. ОСь - это еще куча говна, которая и делает ОСь для пользователя торомозной.

так, а где граница между ядром и кучей говна? :)

Проведём такой мысленный эксперимент - берём какое-нибудь ядро линукса 2.6.xx с багом 12309, запускаем копирование чего-нибудь куда-нибудь, которое этот самый баг вызывает, затем запускаем, например, Tux Racer. Будет ли он тормозить, если он при этом никаких «куч говн» не дергает?

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

Драйвера и ядро - это не есть ОСь.

Т.е, в винде ядро и драйвера отличные, а весь софт в придачу - говно. Так и запишем.

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

Ну и хуанли ты тогда гонишь? Еще скажи, что гсофта на линуксе нет. И еще скажи, что в винде нельзя поотключать половину «говна, которая и делает ОСь для пользователя торомозной». Балабол ты.

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

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

Драйвера и ядро - это не есть ОСь.

надо же, Таненбаум и другие прожили жизнь зря, все их написанные книжки по разработке ОС -фуфло? :)

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

так, а где граница между ядром и кучей говна? :)

Вот между ядром и кучей говна и находится граница.

Проведём такой мысленный эксперимент - берём какое-нибудь ядро линукса 2.6.xx с багом 12309, запускаем копирование чего-нибудь куда-нибудь, которое этот самый баг вызывает, затем запускаем, например, Tux Racer. Будет ли он тормозить, если он при этом никаких «куч говн» не дергает?

Вот и проведите, я же не фроникс.

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

Пол убунты на питоне написано же.

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

Вот между ядром и кучей говна и находится граница.

Торвальдс не зря говорил, что ядро нафиг никому не сдалось, сколь эпичным оно не было. И в отличие от линукса, где пять лет нет нормальных драйверов под nvidia optimus из-за того, что графическая система говно, остальной мир выбирает винду/иксбокс/соньку, но не линукс. Утер?

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

Т.е, в винде ядро и драйвера отличные,

И снова двойка. Вывод не правильный.

а весь софт в придачу - говно. Так и запишем.

Юзерспейс винды говно. Можете записать.

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

надо же, Таненбаум и другие прожили жизнь зря, все их написанные книжки по разработке ОС -фуфло? :)

Их книжки по написанию ядра, а не ОСи. Не нужно придумывать чушь.

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

Назови мне самый лучший браузер в линуксе и я скажу кто ты.

Может вы и лечить по браузеру умеете?

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

И снова двойка. Вывод не правильный.

Верный вывод только один. Ты наелся кактуса сидя под виндой, но реальных фактов почему виновата именно ОС и ее разработчики, а не твои прямые руки у тебя нет. Мог бы в первом же предложении и в профиле в комментарии поставить: виндовс-хейтер. И никто бы с тобой не спорил и зря тратил время. И поучил лишь ты только тому, что известно было всегда - все люди разные.

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

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

Вот о чем и речь, ядро не есть ОСь.

И в отличие от линукса, где пять лет нет нормальных драйверов под nvidia optimus из-за того, что графическая система говно, остальной мир выбирает винду/иксбокс/соньку, но не линукс. Утер?

Вы утерли нос самому себе. Прямо как в анекдоте:

- Ура обманула!
- Кого?
- Таксиста!
- Как?
- Деньги дала, а сама не поехала.

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

а в названиях книжек упоминается «Операционные системы», а слов «ядро» нету, как так?

А речь идет о ядре. Как так? Маркетинг, мать его.

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

Впрочем и со словом kernel, книжки тоже есть. Странно, правда?

andreyu ★★★★★
()

valgrind --tool=callgrind --collect-systime=yes тормозная_прога

dt1 ★★
()

Кривая архитектура, алгоритмы и пр. ошибки проектирования не интересуют.

А жаль. Это и есть основная причина.

Manhunt ★★★★★
()

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

fuf, положил на него всё свою жизнь, получил:

В 2006 — Time назвала его одним из революционных героев за последние 60 лет. Журнал Business 2.0 назвал его одним из «10 людей не материалистов», потому что развитие Линукса имеет индивидуальные черты Торвальдса. В 2008 — он официально представлен Музеем истории компьютеров в Калифорнии. 22 октября 2008 — Линус Торвальдс стал лауреатом ежегодной церемонии Fellow Awards музея компьютерной истории (Калифорния, США). Получив награду «за создание ядра Линукс и управление открытой разработкой широко используемой операционной системы Линукс». 20 апреля 2012 — Линус Торвальдс (вместе с японским медиком Синъей Яманакой) стал лауреатом технологической премии Millenium[fi] (Финляндия). 13 июня 2012 года она была вручена ему президентом Финляндии Саули Нийнистё. В 2012 году избран членом Зала славы интернета.

Во млин дурак, надо было в микрософт ийтить.

aeX1pu2b
()

Почему программы тормозят?

Почему люди не летают как птицы?

Медленные запросы к субд / внешним (веб)сервисам.
blablabla
Кеш-промахи.
Какие еще причины медленной работы ПО?

Недо-гик, по-моему, ты вообще не оттуда и не туда копаешь.

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

И в отличие от линукса, где пять лет нет нормальных драйверов под nvidia optimus из-за того, что графическая система говно

Я вообще не понимаю как умудрились родить этого выпердыша по имени optimus, неужели понижение частот видеокарты не решает проблему потребления и времени работы?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

неужели понижение частот видеокарты не решает проблему потребления и времени работы?

Решает, но не так как хотелось бы. И мне кажется, что nvidia/amd вообще до лампочки на этот вопрос. Клиенты их просили вот они и родили подходящее решение. Тут еще вся фишка именно в том, что часть задач выполняется именно на cpu, в который вбухано куча техник и, что немаловажно, времени, по экономии энергии. Поэтому интегрированное видео по сути не несет сверх нагрузки, а выигрышь достигается значительный.

gh0stwizard ★★★★★
()

Ёмнить, да это точно не программы тормозят....

aeX1pu2b
()
Ответ на: комментарий от devl547

P.S. Кривая архитектура, алгоритмы и пр. ошибки проектирования не интересуют.

Ты знаешь, а вот это как-раз основное.

тут речь идет о программах каждодневного пользования. Там алгоритмами и не пахнет.

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

easytag

Не замечал тормозов. В том смысле, что свой скрипт на bash может и быстрее будет работать, но не настолько универсально как сделано в easytag. ТС и ты видимо не понимаете, что иногда за удобство надо платить.

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

easytag тормозит в интерфейсе. Хотя в принципе там может на IO тормоза завязаны... ну и запускается ппц как долго. Запуск меня в общем-то больше всего выбешивает.

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

easytag тормозит в интерфейсе. Хотя в принципе там может на IO тормоза завязаны

Хм, я давно его не юзал, но такого не замечал. Т.е. переключение директорий, открытие файла это все было шустро. Может зависит от диска/фс?

Запуск меня в общем-то больше всего выбешивает.

Ну что-то подобное было у меня. Можешь попробовать Quod Libet, Ex Falso, почти как EasyTag, но еще и плеер в комплекте :)

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

Хм, я давно его не юзал, но такого не замечал. Т.е. переключение директорий, открытие файла это все было шустро. Может зависит от диска/фс?

вряд ли. скорее всего у тебя комп намного шустрее моего. Но с другой стороны хотя IO от этого не зависит...

dikiy ★★☆☆☆
()
Ответ на: комментарий от I-Love-Microsoft

Шутка это была, шутка. Впрочем, такой тон задал сам начинатель топика.

dave ★★★★★
()

профилировщик в зубы

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

GC может вызвать «тормоза» при достаточном ресурсе железа?

system-root ★★★★★
()
Ответ на: комментарий от nerdogeek

Допустим, наша программа идеально спроектирована, алгоритмы - огонь

Идеально спроектированная программа это сферический конь в вакууме. Программы пишут под определённые требования, которые меняются с течением времени, так же программы пишутся при ограничении по времени, соответственно идеальных программ не существует by design.
Можно сказать, что существуют старые программы в которых мало проблем, но которыми никто уже не пользуется.

vtVitus ★★★★★
()

P.S. Кривая архитектура, алгоритмы и пр. ошибки проектирования не интересуют.

Спасибо, поржал

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

В чем тогда искать причину «тормозов»?

Определиться с критериями «тормозов» и запустить профилировщик

vasily_pupkin ★★★★★
()
Ответ на: комментарий от it-nativa

Вы лучше скажите мне, как можно было так умудриться написать демон dropbox, чтобы он жрал 64 Мб памяти?

Нужно просто взять питон

> readelf -s dropbox  | grep Py | wc -l
1172
vasily_pupkin ★★★★★
()

Кривая архитектура, алгоритмы и пр. ошибки проектирования не интересуют.

Это основная причина и есть. Про все остальное есть показатель «degrade gracefully», чему ПО с правильной архитектурой должно соответствовать.

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

Поскольку такое поведение для Linux описано в man, то это не может являться багом. Можете назвать это фичей, поведением, но не багом.

Клёвый способ чинить баги — документировать их.

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

ITT немало сообщений было до моего поста (не меньше дюжины единомышленников), чтобы боянить одну и ту же сентенцию. Хочешь сказать, до тебя еще не дошло? Жаль, а ведь я был о тебе лучшего мнения.

d_Artagnan ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.