LINUX.ORG.RU

Почему кодеры так любят покупать заряженные процы? Юзлесс?

 , , ,


0

2

Смотрите, я прекрасно понимаю, зачем люди отдают деньги за топовые видеокарты. Банально вот смотришь игровые тесты на ютубчике: какой-нибудь киберпанк запущенный на rtx 40xx super и тот же киберпанк, запущенный на видюхе побюджетнее. Там и fps будет больше, картинка лучше, всякие технологии от nvidia вроде RayTracing, DLSS, gsync и тд и тп

Я понимаю, за что я плачу деньги.

А теперь процы.

  1. Для того, чтобы система плавно работала при дефолтных задачах 80%+ кодеров на этой планете (это я еще грубую оценку снизу взял), вполне хватает бюджетного проца.

Запущенная IDE, отладка, корпоративный чат, какой-нибудь мониторинг или инструмент для управления БД, в альт-табе он музыку слушает, ну и пусть даже виртуалка сверху (отмечу, что крайне редко нужно все это сразу)

Так вот. Для этого вполне хватит какого-нибудь AMD Ryzen 5 5600X Я не говорю, что именно этот идеально подходит, просто как бы оцениваю примерно сегмент и цену. А цена около 130 баксов!

  1. Ну если, представим, вдруг окажется мало (не должно), и мы имеем дело с красноглазом, который не трогает траву и прямо таки обмазался CI/CD, постгресами и докерами, то ну какой-нибудь проц класса AMD Ryzen 7 5800X который около 200 баксов стоит! 200 баксов это прям КРАЙ, вы понимаете.

И то, пункт 2 больше похож на какого-нибудь девопса, большинство разрабов больше похожи на пункт 1.

  1. «на топовом проце собирается быстрее». Ага, то есть вот я написал какой-то код, решил потестить, проект собрался за 60 секунд, а на топ проце собрался бы за 20. Вау, вот это да! Я прямо таки побежал, роняя штаны, заносить пол штуки баксов, чтобы эти секунды сэкономить! Ну и как бы кэширование и инкрементальную сборку никто не отменял. Да и я не знаю, насколько это распространено, но я работаю и собираю все на корпоративном сервере, к которому по ssh подключаюсь. Если бы я был бареном в такой конторе, я бы вообще хромбуки бы выдавал, ну ок не хромбуки, но бюджетных Асусов за 60тыщ за глаза бы всем хватило, зачем тебе что-то серьезнее, если ты по сути только в редакторе печатаешь, а все на сервере делается. Но мне с пафосом выдали Т синкпад, потенциал которого я от силы на 20-30% использую, спасибо им, конечно, но интересно, в чем логика челов

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

// Тогда объясните мне, почему обычные разработчики (обычные не в смысле тупые, а в смысле не относящиеся к этим областям), коих большинство, так любят покупать процы под 700 баксов? Ну и конторы любят хвалиться тем, что выдают «мощное современное железо»,наверное, потому что видят, что красноглазам нравятся игрушки. Хотя пик их требований едва ли превзойдет 200 баксов, а то и 150.

Тогда ЗАЧЕМ все это?

Большой кэш может быть полезен в многопользовательских VR играх, на кривом коде или просто когда нужно обрабатывать на CPU много объектов за короткое время.
Ну например: для VRChat рекомендуют ryzen 5800X3D или 7800X3D потому что кривой шарповый говнокод не помещается в кэш обычного проца, а требуемый fps там обычно не ниже 90. Наверняка какие-нибудь RPG от 3 лица тоже будут чувствовать себя намнго лучше с большим кэшем
Так же большой кэш сильно помогает при многопоточной компиляции т.к компилятор на всех ядрах тоже не влазит в кэш и начинает упираться в память. 5800X3D благодаря кэшу использует свои ядра эффективнее чем обычный 5800 или 5950.
Конечно чисто вычислительные задачи скорее решают на GPU, но далко не всё можно туда загнать.
Не знаю, о каких процах идёт речь в треде. но это один из примеров. 7950X3d уже фактически NUMA, только не по памяти, а по процу. Это может быть полезно чтобы запустить какую-енибудь долгую задачу (компиляцию или кодирование/рендеринг видео) на одних ядрах и при этом параллельно играть в какую-нибудь игру, иначе придётся откладывать одну из задач. Хотя для такого конечно лучше иметь второй комп, но не всегда это удобно

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)

Про видеокарты это ты загнул - там главное чтобы по возможности текстуры помещались в видеопамяти чтобы не было оверхеда в лице перегруза подсистемы памяти и ЦП. Если на встройке допустим CS2 идео в 70 кадров на минимальных настройках, значит с самыми высокими текстурами он может идти почти так же быстро потому что у тебя может быть 64 гигабайта ОЗУ на борту. Для видеокарт попроще чтобы обойти это ограничение встройка уже используется для вывода изображения и если нет аппаратного декодера всяких VP9 и AV1 например, то и их обработка вместе с весом рабочего стола в пару гигабайт в какой-нибудь плазме. Можешь вот тут поглядеть на разницу, то есть больше кадров особо не будет в навороченных видеокартах в том числе, если есть встройка и можно также игнорировать все костыльные технологии, которые чаще дают минус кпо кадрам при упоре в видеопамять и скажем снижение масштабирования тоже создает оверхед и часто картинка при 100% масштабировании не только лучше, но и быстрее. Это нужно только если монитор имеет разрешение 1920х1080, а у видеокарты/встройки еще полно ресурсов чтобы она брала текстуры предназначенные для 4К, которые вблизи будут выглядеть лучше и все это накладывалось.

https://www.youtube.com/@Malinovsky-Channel/videos

С процессорами все еще смешнее, так как и в играх таким образом практически всегда должно хватать 2-х ядер с двумя потоками на ядро, так как движки у игр под это заточены. Они вроде и не занимают много процессорного времени, но усиленно бодаются друг с другом по-видимому блокировками. И вот эти многоядерные процессоры, даже на 6 ядер без лютого оверхеда в играх и ненужны - все верно. Просто вам сознательно не докладывают видеопамяти в видеокарты чтобы можно было играть лет 10, если у вас есть такое желание, пусть без перегруза шейдерами, но с высокими текстурами. Это можно обойти на быстрых новых встройках используя уже видеокарты попроще для вывода изображения. А процессоры да - не особо то и нуужны даже тяжелым современным играм на самом деле, если система рабоотает прямо. Многоядерные процессоры уже давно превзошли нужды рядовых пользователей и если есть встройка хватит и пары ядер. Их продажи обеспечены незнанием людей о работе компа. С чего бы конторы продающие железо так напрягались и объясняли как нужно собирать комп? Дальше только толстые проекты и сборка из исходников того что может задействовать все инструкции процессора имеют какой-то смысл. Но сборка на том же компе это отъедание его времени что неправильно, но и покупка второго компа это неправильно, если бюджет ограничен. Это все бодание уровня казнозарядного и дульнозарядного оружия. При желании можно придумать как в одно движжение заряжать с дула карабин и даже сделать пули ровно по ширине ствола чтобы увеличить точность, но бездымный порох может стать проблемой. И вот дешевые компы это экономия на гильзах - не слишком перспективно, но можно - почему нет? Вон дроны сбивают из охотничьих ружей и сделали им боеприпасы. Просто надо понимать что есть достаточность, а есть общество потребления где все орут что лучшее удовлетворение потребностей лучше. А то что тебе оставшаяся сумма может принести денег лежа в банке под проценты от вклада никто не будет объяснять что лучше не сходить с ума покупая самое дорогое без реального обоснования. Если бы под тот же атом без AVX инструкций собирали софт он и работал бы вполне приемлемо. Но кто же будет делать жирные сайты для атомов? В итоге это просто бонус к серфингу, который тот же атом может покрыть внесением сайтов с ленивой загрузкой в файл hosts чтобы десятки подключаемых доменов не искались по 50 миллисекунд каждый, а уже были на компе и тот же атом может сравняться, а то и опережать мощный комп который будет ждать ответа от сервера. Так что не так уж и плохо иметь производительный ноутбук, хотя и совсем необязательно. Это уже больше игра на чувствах мол тебе не просто бонус дали от присоединения а бонусище. Это ловля рыбешек, которые считают себя умниками. Вполне в духе хитрых бизнесменов. он тебе процессор получше, а зарплату пониже - ты же и так доволен, например.

anonymous
()
Ответ на: комментарий от vbcnthfkmnth123

Например rust у меня собирается несколько часов на моем 12-ядернике. На каком-то 64-ядернике он будет собираться примерно раз в 5 быстрее

Это тебе так кажется. Точнее оно так правильно и по логике по уму/разуму от бошки должно быть. На деле же разница в сборке с разным количеством ядер, одного и того же пакета не сильно различаются. Одна сборка с двумя ядрами и сборка со всеми ядрами будет отличаться в какие нибудь 59 секунд. Вот ты офигеешь, когда это увидишь собирая пакет, который должен собираться, допустим полтора часа во все ядра, а в три ядра он соберётся на минуту позже. Пособирай, тебя ждёт сюрприз. )))

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

На деле же разница в сборке с разным количеством ядер, одного и того же пакета

Зависит от того сколько ядер это использует. Там немалая часть времени это конфигурирование, а оно больше одного ядра не грузит. То есть тот же make поддерживает несколько ядер, а вот configure или autoconf нет.

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

Воу, большое спасибо за такой врайт ап, анон. Единственное, что в интернетах пишут, что современные игры бывают оптимизированы под многоядерные процы и мол иногда лучше на верочку взять 6, а не 4. Хотя тут, конечно, еще влияет, насколько они быстрые, какого-нибудь 12100 проца на 4ех ядрах будет во многих игрушках за глаза хватать

Unknown_
() автор топика

почему обычные разработчики, коих большинство, так любят покупать процы под 700 баксов?

Потому что могут. Типичное меряние «у кого больше». Ну и надо же куда-то деньги тратить если жилье уже есть.

watchcat382
()

Хорошая тема, но люди не любят признавать свои ошибки, а стараются оправдать свои ошибки. Я как просидевшая на топовом ПК за 2005 год до 2022 года (17 лет) и играя под вайном во все интересующие меня игры вышедшие в этот период на максимальных настройках — мне смешно смотреть на всё это и цены видеокарт и на системные требования к играм в том числе. Где-то тут должен быть антимонопольный комитет в пиндостане и выполнять свою работу, но его нет. Скорее всего производители железа давно погрязли в мошеннических схемах втюхивания одного и того же железа под новой версией железа. Как это с nVidia было в 2003, они старую карту выдавали за новую поменяв айдишник маркировки карты и простыми утилитами, обычные юзеры, этот айдишник могли посмотреть и узнать старую версию видеокарты. Тогда nvideo нахлобучили — они штрафы там какие-то заплатили. Сейчас этого ничего нет! Вот чем-то подобным возможно занимаются производители процессоров и не только процессоров и чипсетов материнок тоже туда же. По моему скромному мнению, NVIDIA не открывает драйвера видеокарт по причине вот этих скелетов в шкафу. Им нужен полный ребрендинг, чтобы скинуть мошеннические схемы прошлой компании, чтобы с новым брендом это всё не ассоциирлвадось и без препятствий под новым брендом продавать свои карты драйвера которых будут с открытым исходным кодом. Ещё NVIDIA занимается занижением насыщенности цвета с каждым обновлением драйвера в старых играх текстуры которых выглядят обесцвечено как будто чёрно-белые. Но это на винде было, на винде драйвера для старых карт обновляются не отдельной веткой, а постоянно и nVidia с обесцвечиванием цветов в играх на старых картах что-то колдует явно. Это замечаешь когда переезжаешь на linux, накатываешь legacy NVIDIA driver, запускаешь старые игры и видишь в них прекрасную графику: насыщенный цвет, блики, свечения лучей солнца, оттенки, качественные тени. Такое же можно увидеть на законсервированном ПК за 2003 год с драйверами того времени и пространства орнув от красивого графония. Например, на законсервированном ПК за 2003 год, запустив GTA III, взяв снайперскую винтовку и прицелившись посмотреть на газету валяющуюся на дороге можно прочитать заголовок газеты рассмотреть фото и даже прочитать текст самой статьи. На современном железе, за полтора ляма, там не заголовка нет, фотография статьи замылина ничего не видно, а сами цвета обесцвеченные как будто. И никто об этом не говорит! Куда-то весь игрожур подевался.

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

Зависит от того сколько ядер это использует.

Не особо шибко зависит.

Разница в сборке пакета, который собирается в полтора часа с тремя ядрами и тот же пакет собирающийся полтора часа с 8 ядрами соберётся с 8 ядрами на 59 секунд быстрее. А должно бы быть посущественней время сборки! Пакет, который собирается полтора часа с тремя ядрами, с 8 ядрами, должен собираться один час и пять минут — в два раза быстрее, как это по логике/уму/разуму/математике должно быть. И ты в это веришь, что оно должно бы быть так. Но этого всего нет! Разница смешная в минуту. Выше трёх ядер мало есть смысла что-то собирать вообще, на быстроту сборки количество ядер не особо влияют. Если конечно тулчейн сборки из исходников в твоей системе поддерживает распараллеливание потоков сборок с заранее установленным количеством ядер/потоков, а так же тулкит языка на котором собираешь пакет тоже это всё должен поддерживать, а это единицы софта поддерживают подобное вообще. Мейнтейнерам софта пофигу на то, что будущее уже пришло и можно/нужно внедрять распараллеливание сборки на потоки своих пакетов, которые они мейнтейнерят.

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

А должно бы быть посущественней время сборки

Потому что большая часть времени сборки пакета не маштабируется на много ядер. Конфигурация, то и это, пятое, десятое. Все это и многое другое используется только одно ядро.

vbcnthfkmnth123 ★★★★★
()

«на топовом проце собирается быстрее». Ага, то есть вот я написал какой-то код, решил потестить, проект собрался за 60 секунд, а на топ проце собрался бы за 20. Вау, вот это да! Я прямо таки побежал, роняя штаны, заносить пол штуки баксов, чтобы эти секунды сэкономить!

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

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

На каком-то 64-ядернике он будет собираться примерно раз в 5 быстрее, то есть уже минут около 20 минут.

Ну т.е. лучше не ризен9/i9, а какой нибудь пожилой серверок с 2-я уценёнными 32-40-64-поточниками. В игровых процах ты платишь за конский буст и ещё видеокарту и АИ-сопроцессор, а ядер и кеша там меньше. Наверняка выйдет дешевле и наверняка проще держать его в офисе и шарить на нескольких разработчиков, а самим сидеть с тонкими и хлодными ноутами.

kirill_rrr ★★★★★
()

Тогда объясните мне, почему обычные разработчики (обычные не в смысле тупые, а в смысле не относящиеся к этим областям), коих большинство, так любят покупать процы под 700 баксов?

Тоже не понимаю. У меня тредриппер за два килобакса (из 2020 года) и мне что-то маловато иногда.

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

Ну т.е. лучше не ризен9/i9, а какой нибудь пожилой серверок с 2-я уценёнными 32-40-64-поточниками.

Не лучше. Куча проектов собираются последовательно. В лучшем случае в два-три потока.

Два, там будет память медленная, а сборка софта грузит память только так. Короче, старые серверные процы для рабочих станций – довольно унылый мем. Я проверял.

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

Чтобы не тормозил при нагрузке. Фризы и подлагивания, даже если они короткие, всё равно ощущаются противно.

Всё что угодно, лишь бы не распределять приоритеты интерактивных и фоновых задач... С таким подходом можно собирать в 20 потоков на 32-поточнике например. Фризов быть не должно.

Если же ты просто ГЕЙмер, то можешь взять себе 5600X.

5600X3D вообще то. На голову быстрее в играх, на 10% медленней при компиляции и прочих числодробилках.

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

Так не рабочие станции, а серверны. К тому же 64 бульдозера на удалённом доступе, а на коленях ноут с 6-8 быстрых ядер ризен5/i5 (или вообще разогнанная тройка) - почти те же 4-5Ггц и быстрая память для 2-3 быстрых потоков.

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

К тому же 64 бульдозера на удалённом доступа, а на коленках ноут с 6-8 быстрых ядер ризен5/i5 (или вообще разогнанная тройка) - почти те же 4-5Ггц и быстрая память для 2-3 быстрых потоков.

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

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

Но работать из кафе на 32-поточном ноуте локально? Ну таком, с отдельным блоком охлаждения на 500Вт. Один хрен проигрывая в 3-4 раза даже близко не топовому серверу? Всё ещё без монитора и клавиатуры с мышкой?

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

Но работать из кафе на 32-поточном ноуте локально?

Работать из кафе вообще не надо, если ты не постишь порнуху в слак (я вот иногда кидаю коллегам такое лол). Работать надо на нормальном рабочем месте с удобными креслом и столом.

Один хрен проигрывая в 3-4 раза даже близко не топовому серверу?

Ты слишком высокого мнения о серверах, дружочек. Моя последняя рабочая станция с цеонами в однопотоке проигрывала моего ляптопу с процом на 30W. Зато тредов цеоны выдавали дохренища, да.

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

Я просто главного не могу понять: ну да, вот вы решили что вам нужен ТОП. Почему это в 99% случаев оказывается игрушка, а не по настоящему серьёзный комп? Ну вот на том же ЛОРе - я кажется видел всего 1 тредриппер и всего пару серверов, и то уценённые бородатые зионы.

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

Я просто главного не могу понять: ну да, вот вы решили что вам нужен ТОП.

А почему нет? Можно же.

Почему это в 99% случаев оказывается игрушка, а не по настоящему серьёзный комп?

Что такое «игрушка»? Что такое «серьёзный комп»?

Ну вот на том же ЛОРе - я кажется видел всего 1 тредриппер

Держи два. Тебе полегчало?

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

Моя последняя рабочая станция с цеонами в однопотоке проигрывала моего ляптопу с процом на 30W

Для однопотока есть i3-14(чего то там)К. Он в 5-10 раз дешевле i9 и уступает ему в соотношении 2700/3200, т.е. вообще смешно.

А вот как оцениваются серверы против игровых процев в 64 потоках?

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

Что такое «игрушка»?

То, что хорошо решает игровые задачи и плохо рабочие. Для рабочих очевидно нужен тредриппер. А если не тредриппер - значит чистый серверник.

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

Для однопотока есть i3-14(чего то там)К. Он в 5-10 раз дешевле i9 и уступает ему в соотношении 2700/3200, т.е. вообще смешно.

Ну есть, и? Не, если твоя цель – экономить на говне и спичках, то пожалуйста, можешь и i3 покупать.

А вот как оцениваются серверы против ноутов в 64 потоках?

А ты можешь загрузить 64 потока-то? Уверен? Точно?

То, что хорошо решает игровые задачи и плохо рабочие.

Извини, так не бывает. Процессору насрать на то, какой код ты именно запускаешь.

Для рабочих очевидно нужен тредриппер.

Честно говоря, сегодня я уже не уверен, что нужен. На 2020 год у меня особо выбора не было, но если бы я собирал комп сегодня, взял бы последний Ryzen. Просто потому что 16 ядер, которые одновременно можно все разогнать до 5GHz, лучше чем 32, которые одновременно выдают редко больше 4GHz. Но это в моём случае.

А если не тредриппер - значит чистый серверник.

LOL

LMAO even

Ты явно не шаришь в процессорах вообще ни разу ни капельки. Современные серверные процессоры отличаются от десктопных в основном IO: в серверных больше PCIe-линий и каналов памяти. Вычислительные чипы там зачастую те же самые, даже часто с тем же количеством кеша на ядро.

Плюс, в серверных чипах частоты медленнее и буст зарезан зачастую, просто чтобы по термалке пройти.

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

Да просто вы еще не освоили скриптовую сборку пакетов. Вот из DragonlyBSD человек писал что они скриптами собирают всю базу открытого софта каждый день или несколько дней на тредриппере и у них уходит на 20+ тысяч пакетов чуть более часа. Это такой камень в огород Gentoo с тормозным портежем на питоне. На деле чемм мощнее комп тем более адекватным должен быть тот кто им пользуется чтобы выжать из него всю производительность так как скорость в наше время все же имеет значение.

anonymous
()

Рад, что ты спросил.

Вот я сижу на i9-12k, 64 ГБ ОЗУ. Видюхи нет, достаточно встройки. Два NVMe диска + пара SSD. В сумме где-то 2.5 ТБ. А еще NAS на 4 диска (24 ТБ) и неттоп на N100 вместо сервера.

Так вот. Я гоняю по 3-4 виртуалки с проектами. Мне проще было загнать IDE, специфичный софт и прочую лабуду в виртуалку, чем все это чудо держать на компе. Даже с учетом всяких там снапшотов, бекапов и прочего – мне тупо лень этим заниматься. Виртуалка она и в Африке виртуалка. Иногда еще бывает нужно запустить что-то тупое и древнее от клиентов.

Конечно же еще что-то ворочается дохере. Что-то пишется на Гошке, что-то на Петоне. Компиляется разве что всякое npm-ное говно на JS от фронтендоров. Когда компиляется, я слышу как кулер проца трещит и готов уже выйти в окно. Но терпит. Компилит.

Параллельно, как ты сказал, музыка, чатики. Все это на 4 мониторах разного пошиба.

Но при всем этом, я ни разу не словил фриза или чего-то эдакого. Аптайм машины 200-250 дней. Не выключается, иногда разве что в саспенд уходит (когда уже в край за**вает этот шум вонючего кулера и выключаешь машину, чтобы в тишине книжку почитать).

Прикол в том, что я бы с удовольствием сидел на том же макбуке с М1. Он даже на сложных операциях близко не шумит. Так слегка может пошуршать, когда ему даешь mp4 в ffmpeg. И то, слегка. М1 рвет даже i9 на компиляции разного фронтового гавна. Хз как это получается.

Но Эпл Силикон не умеет в x86 виртуалки без тормозов. А еще Эпл блочит все направо и налево. Скрипты подписывает и проверяет. Я не параноик, но пошли они нахер. Тем не менее, использовать ноут приходится – командировки никто не отменял. Также я не могу запустить на нем некоторый любимый софт, типа того же mocp. Там как-то можно сотворить магию, но мне лень возиться с этим.

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

А еще все-таки бывают ситуации, когда ты открываешь проект и твои 64 гига сжирает IDE нах*й и ты в панике закрываешь скорей все и едва ли успеваешь нырнуть в tty из иксов, чтобы все это дерьмо убить, потому что сейчас память закончится, а свопа нет :)

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

Он как раз писал о неправильном понимании потоков, которые люди указывают при сборке полагая что 4-х ядернику нужно указывать -j4 например, а на деле у них выставлялось что-то около 1100 потоков одновременно чтобы загрузить процессор на максимум при 64 ядерном тредриппере. Программисты такие программисты что не удосуживаются даже практические вопросы изучить прежде чем себя пяткой в грудь колотить заявляя о себе как о крутых.

anonymous
()
Ответ на: комментарий от PeleWin

А прикинь, сколько за это время можно сделать походов к кофе-машине? А если билд будет за секунды отрабатывать, то тут и ни одного похода не сделаешь. В общем, вот.

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

Он как раз писал о неправильном понимании потоков, которые люди указывают при сборке полагая что 4-х ядернику нужно указывать -j4 например, а на деле у них выставлялось что-то около 1100 потоков одновременно чтобы загрузить процессор на максимум при 64 ядерном тредриппере.

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

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

Много их бывает только когда ты какую-нибудь генту собираешь, как ты выше написал. В работе программиста такой сценарий редок.

Мне тут другая история вспомнилась из-за XKCD, который @rupert выше принёс.

Oracle Database 12.2.

It is close to 25 million lines of C code.

What an unimaginable horror! You can't change a single line of code in the product without breaking 1000s of existing tests. Generations of programmers have worked on that code under difficult deadlines and filled the code with all kinds of crap.

Very complex pieces of logic, memory management, context switching, etc. are all held together with thousands of flags. The whole code is ridden with mysterious macros that one cannot decipher without picking a notebook and expanding relevant pats of the macros by hand. It can take a day to two days to really understand what a macro does.

Sometimes one needs to understand the values and the effects of 20 different flag to predict how the code would behave in different situations. Sometimes 100s too! I am not exaggerating.

The only reason why this product is still surviving and still works is due to literally millions of tests!

Here is how the life of an Oracle Database developer is:

- Start working on a new bug.

- Spend two weeks trying to understand the 20 different flags that interact in mysterious ways to cause this bag.

- Add one more flag to handle the new special scenario. Add a few more lines of code that checks this flag and works around the problematic situation and avoids the bug.

- Submit the changes to a test farm consisting of about 100 to 200 servers that would compile the code, build a new Oracle DB, and run the millions of tests in a distributed fashion.

- Go home. Come the next day and work on something else. The tests can take 20 hours to 30 hours to complete.

- Go home. Come the next day and check your farm test results. On a good day, there would be about 100 failing tests. On a bad day, there would be about 1000 failing tests. Pick some of these tests randomly and try to understand what went wrong with your assumptions. Maybe there are some 10 more flags to consider to truly understand the nature of the bug.

- Add a few more flags in an attempt to fix the issue. Submit the changes again for testing. Wait another 20 to 30 hours.

- Rinse and repeat for another two weeks until you get the mysterious incantation of the combination of flags right.

- Finally one fine day you would succeed with 0 tests failing.

- Add a hundred more tests for your new change to ensure that the next developer who has the misfortune of touching this new piece of code never ends up breaking your fix.

- Submit the work for one final round of testing. Then submit it for review. The review itself may take another 2 weeks to 2 months. So now move on to the next bug to work on.

- After 2 weeks to 2 months, when everything is complete, the code would be finally merged into the main branch.

The above is a non-exaggerated description of the life of a programmer in Oracle fixing a bug. Now imagine what horror it is going to be to develop a new feature. It takes 6 months to a year (sometimes two years!) to develop a single small feature (say something like adding a new mode of authentication like support for AD authentication).

The fact that this product even works is nothing short of a miracle!

I don't work for Oracle anymore. Will never work for Oracle again!

Не знаю, насколько это правда про Oracle, но в кровавом тырпрайзе, кишки которого тянутся ещё с 80х, такое вроде сплошь и рядом и никакими тредрипперами тут не поможешь.

Тыц: https://news.ycombinator.com/item?id=18442941

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 3)

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

bigbit ★★★★★
()

Начал ответчать по пунктам, но подумал, что тут можно обойтись одной цитатой

«Если человек считает какую-то профессию легкой, то как правило он нифига не знает об этой профессии»

Извини, но твои оценки основаны на том, что ты немного не в теме

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

Не, если твоя цель – экономить на говне и спичках, то пожалуйста, можешь и i3 покупать.

Так я о том же! Покупая i9/ризен9 ты экономишь... ну сколько то (для меня +1000$ за комп скорее идиотизм, но у серьёзных разработчиков должны быть серьёзные зарплаты). Но получаешь в итоге рабочее место в 2-4-8-16 раз слабее. Но зато ТОП в своём классе!

А ты можешь загрузить 64 потока-то? Уверен? Точно?

Да, даже я, легко. Могу жать бэкапы не в 4 а в 64 потока, будет в 16 раз быстрее. Аналогично мои скрипты с ffmpeg. А уж если бы я сидел на генту а не на дебиане... А вот собственно с 64-ядерником я мог бы и не генту сесть! И выделить 60 ядер виртуалкам!

Извини, так не бывает. Процессору насрать на то, какой код ты именно запускаешь.

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

можно все разогнать до 5GHz

Так уже 20 лет как проценссоры не гигагерцами измеряются.

Ты явно не шаришь в процессорах вообще ни разу ни капельки

Их заявленные характеристики - ложь? Ну вот например xeon 8580, он примерно того же поколения что и i9-14900KS и у него питание 350Вт против 300-450Вт - примерно то же самое, учитывая какой изврат приходится применять для i9 чтобы вывести его на максимальный буст. 60 ядер против 24, кто выиграет очевидно. Жаль не могу найти во сколько раз.

Современные серверные процессоры отличаются от десктопных в основном IO: в серверных больше PCIe-линий и каналов памяти

А что, каналы памяти не важны в нагрузках 16++ потоков?

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

Так я о том же! Покупая i9/ризен9 ты экономишь… ну сколько то (для меня +1000$ за комп скорее идиотизм, но у серьёзных разработчиков должны быть серьёзные зарплаты)

В идиотизме ты явно эксперт.

Но получаешь в итоге рабочее место в 2-4-8-16 раз слабее. Но зато ТОП в своём классе!

Ты херню написал. Особенно про 2-4-8-16 раз слабее. 64-ядерный тредриппер быстрее 16-ядерного райзена всего в 2 раза в абстрактных попугаях, при этом стоит в 7 раз дороже. И это только сам камень, мат.плата к нему выйдет ещё раза в три-четыре дороже (платы для третрипперов от килобакса начинаются).

Бенчмарк с попугаями: https://www.cpubenchmark.net/compare/6211vs5764/AMD-Ryzen-9-9950X-vs-AMD-Ryzen-Threadripper-7980X

И это, опять же, при условии, если твой код может загрузить все эти 64 ядра. А твой не сможет.

Да, даже я, легко. Могу жать бэкапы не в 4 а в 64 потока, будет в 16 раз быстрее. Аналогично мои скрипты с ffmpeg. А уж если бы я сидел на генту а не на дебиане… А вот собственно с 64-ядерником я мог бы и не генту сесть! И выделить 60 ядер виртуалкам!

Я имел ввиду работу, за которую тебе платят деньги или хотя бы ты получаешь какой-то профит. Вот платить по 5 килобаксов за проц чтобы собирать генту – вот это явно идиотизм.

Так уже 20 лет как проценссоры не гигагерцами измеряются.

Между разными поколениями? Нет. В рамках одного поколения одной и то же архитектуры? Ещё как меряются. Повторю: ты не шаришь вообще.

А что, каналы памяти не важны в нагрузках 16++ потоков?

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

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

полагая что 4-х ядернику нужно указывать -j4 например

Я бывший гентушник. Немного знаю как что собирается. И гонял тесты на разном что у меня есть. Например на х86 нет смысла грузить больше 1 задачи на поток, а больше 4 задач на поток начинается падение суммарной производительности. А вот для Пи4 наоборот, 6 потоков быстрее чем 4.

kirill_rrr ★★★★★
()

вполне хватит какого-нибудь AMD Ryzen 5 5600X

я кодер, у меня AMD Ryzen 5 1600 :)

почему обычные разработчики

щас такие кодеры, что у них докер на докере и всё это в кубернетесе внутри lxc контейнера в виртуалке

там не только топовый проц, но и топовый райд из ssd нужен :)

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

всего в 2 раза в абстрактных попугаях

А насколько там интел i5-14***K уступает i9-14900KS? А в однопотоке? А в 4 потока? «Всего лишь»...

И почему это тут ты начал рассуждать о цене и разумности трат, а относительно десктопных пятёрок против девяток это не аргумент?

Я имел ввиду работу, за которую тебе платят деньги

Я строитель, так что больше 4 ядер мне не нужно. В принципе и 2 достаточно. Вот объективно - 2 потока переднего плана и без разницы насколько они быстрые или медленные. На скорость чтения или работу с почтой это не влияет.

хотя бы ты получаешь какой-то профит

64 потока я могу загрузить в развлекательных целях. Но если у кого то есть рабочие задачи на 64гб памяти, то в чём проблема рабочей задачи на 64 ядра?

В рамках одного поколения одной и то же архитектуры?

Тоже нет! Потому что кривые не линейные, потому что упор в ТПД, в кеш, в частоту памяти, в её потоки, в видеокарту... А очень часто хочется ноут и тут очень большой вопрос - этот конкретный цпу эффективней гнать или эффективней зажимать? Я совершенно точно могу сказать - амд бульдозер надо зажимать. А интел Р/Е-ядра? А zen4C и ризены вообще?

в каждом треде, где появляешься, пишешь полную херню.

Всего лишь что то такое, что тебе не нравится? Опять же, почему экономить 500$ для тебя глупо а экономить 5000$ для тебя ну разумеется, как же иначе?

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)

«хороший понт дороже денег»

Это из разряда «почему любят покупать стулья за 50 000₽, а не за 500».

Ну и чисто так, по идее когда вкладываешь больше денег или других ресурсов, это подчеркивает ценность

anonymous
()

Я провожу за компьютером 16-20 часов в сутки. Почему бы не купить там всё самое топовое? Какая мне разница - платить 130 долларов или 1300 долларов за процессор? Не каждый день же покупаю.

Вот видеокарта как раз особо не нужна. А процессор, память, диск, охлаждение - должны быть топовые.

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

Потому что большая часть времени сборки пакета не маштабируется на много ядер. Конфигурация, то и это, пятое, десятое. Все это и многое другое используется только одно ядро.

Мы думаем что живём в будущем, а сами живём в каком нибудь 1996 году на максималках.

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

и эти «топовые» через три-пять лет, становятся малоликвидным мусором.

Не,это в 90х годах так было. А сейчас вполне можно сидеть на одном компе лет десять. А то и больше если область деятельности - например написание кода для микроконтроллеров. Там объемы кода небольшие.

watchcat382
()
Ответ на: комментарий от alysnix

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

Unreal Engine состоит из десятка обфусцированных С++ блобов жуткого размера, например.

HE_KOT
()