Закон Амдала или почему говнокодеры выпускают тормозное говно на любом железе
Таблица показывает, во сколько раз быстрее выполнится программа с долей последовательных вычислений α при использовании p процессоров.
Из таблицы видно, что только алгоритм, вовсе не содержащий последовательных вычислений ( α = 0), позволяет получить линейный прирост производительности с ростом количества вычислителей в системе. Если доля последовательных вычислений в алгоритме равна 25 %, то увеличение числа процессоров до 10 дает ускорение в 3.077 раз, а увеличение числа процессоров до 1000 даст ускорение в 3.988 раз.
Отсюда же очевидно, что при доле последовательных вычислений α общий прирост производительности не может превысить 1 / α . Так, если половина кода — последовательная, то общий прирост никогда не превысит двух.
Не всё можно делать параллельно и не всегда например прирост скорости компенсирует затраты, которые неизбежно возникают в многопоточной среде. Дебажить, дизайнить архитектуру, поддерживать, расширять многопоток гораздо, гораздо сложнее. И по факту мало где надо. Ну и сначала надо сделать чтобы работало, а потом чтобы работало быстро, если понадобится.
>>258900923 Ты остаиваешь интересы быдлокодеров, подменяя изначальную постановку вопроса установками макакарабов. Не мы такие, жизнь такая - подобные оправдания не выдерживают никакой критики. Пись-пись тебе в ротяку.
>>258901055 Один хуй, выше теоретически заданного предела не прыгнешь, если изначально все сделал хуево, даже 1000 ядер не сильно помогут.
> Закон Амдала показывает, что прирост эффективности вычислений зависит от алгоритма задачи и ограничен сверху с α =/= 0. > > Более того, если учесть время, необходимое для передачи данных между узлами вычислительной системы, то зависимость времени вычислений от числа узлов будет иметь минимум. Это накладывает ограничение на масштабируемость вычислительной системы, то есть означает, что с определенного момента добавление новых узлов в систему будет увеличивать время расчёта задачи.
>>258901055 Есть бизнес. У бизнеса есть 100к рублей и потребность в простеньком продукте в течении 2 недель. У бизнеса нет 300к рублей и пары месяцев, чтобы все охуенно архитектурно сделать, покрыть все тестами, заложить масштабируемость. Ты будешь работать забесплатно или от работы откажешься?
>>258901055 >подобные оправдания не выдерживают никакой критики Есть клиент и есть 2 фирмы. Фирма А говорит что через год выпустит топовый продукт, быстрый, без багов и т.д. У фирмы Б есть тормознутый продукт уже сейчас, угадай к кому уйдет клиент? Писать сложный код конфетку это мечта любого разраба, но за это тупо не платят
>>258899822 (OP) Это же вообще про возможность распаралеливания вычислений. А говно пишут потому что приложение должно приемлемо работать на железе среднего пользователя, а все что ниже нахуй, за это не платят и нет в ТЗ.
>>258901424 Звбей это максимум шизик студент-школьник, вчера первый раз написавший хеллоу ворлд на паскале и в душе не ебущий как проекты впринципе делаются.
>>258901807 Тебе платят обычно ровн остолько чтобы ты сделал mvp и работало. Хотя зачем я что то обьясняю дауну который вчера лабы по методам сортировки сдавал
>>258901807 > Бизнес вынуждает с точностью до получала отчитываться на что я потратил время > Рефакторинг и разработка архитектуры это максимум пара часов плюс совещания > Виноват программист Ты походу вообще диванный теоретик.
>>258899822 (OP) 1. Оптимизации - сложно, не многие разрабы могут это делать (читай, те кто могут, стоят дороже) 2. Оптимизации - долго, а значит напрямую дороже 3. Оптимизации - нахуй никому не сдалось. Несколько юзеров могут ныть, большинству похую
то же многопоточное программирование, про которое говорит Амдал, жрет сильно больше инты и стреляет сильно больнее, чем обычное
в целом прога жрет все человеческие интеллектуальные ресурсы и просит еще, а мы не можем ей их дать из-за распределения iq (не цифры, а в целом)
ты не представляешь, насколько другим был бы мир, если бы людишки смогли программировать быстрее, без каких-либо продвижений в технологии / веществах. мы пиздецки ограничены своей тупостью
Ну и есть такая штука как читаемость кода. Если можно написать более понятный код но который будет работать медленнее то нормальный кодер такой и напишет. Кодер олимпиадник горе в тиме
>>258904326 да, да. Тасочку запили, может кто то и будет делать, только у меня есть более важные дела. Проверь через пару месяцев
>>258899822 (OP) >Закон Амдала или почему говнокодеры выпускают тормозное говно на любом железе Хз что это за закон и вообще тред не читал НО:
Говнокодеры пишут тормозное говно только потому что им за это платят! Хуй кто из здесь сидящих готов платить х10 от текущей стоимости игр, например, или софта, просто для того, чтобы они работали быстрее
Ты! Да-да, именно ты, голосуешь рублем за этот тормозной кал, а задача кодера просто выкатить еще 10-20 фич, чтобы ты не заскучал
>>258905562 > Хуй кто из здесь сидящих готов платить х10 от текущей стоимости игр, например, или софта, просто для того, чтобы они работали быстрее Так в том-то и дело, что они платят x10 стоимости железа, чтобы софт работал медленнее
>>258906362 В чем суть претензии вообще? От пользователей поступил запрос на тормозное говно - компания разработчик его удовлетворила. Или ты предлагаешь мне учиться для получения никому не нужных навыков? Лол, нет, спасибо, я кушать все же больше хочу
>>258906415 Предлагаю всему миру просто перестать вкладываться в железо и начать платить х10 стоимости за софт, этого будет достаточно, чтобы через несколько лет он начала работать быстрее. Вот только беда в том, что за это время программы почти не будут обновляться
>>258899822 (OP) Добро пожаловать в мир коммерческого ПО. В большинстве прикладных сфер деньги платятся не за максимально производительный софт, а за оптимальный по соотношению цена/качество. За микрооптимизациями лучше идти в опенсорс, там действительно идейные оптимизаторы оптимизируют код вплоть до машинных инструкций. Только всё это держится на голом энтузиазме, и никто тебе платить не будет за то что ты такой умный и перфекционист. Кроме того зачастую выгоднее докупить железок в серверную, чем тратить время разработчиков на оптимизацию, да и ещё пойди найди таких разработчиков кто шарит как правильно сделать. Не говоря уже о том, что далеко не любую задачу можно распаралеллить со 100% эффективностью, можно упереться в бутылочное горлышко (сетевой доступ, дисковый доступ и т.д.) и все твои оптимизации пойдут псу под пизду
>>258900836 Ну а что, если бизнес говно жрет то почему я должен тратить свое время кормя его олениной? Да еще и учитывая что платить мне будут все равно как за говно