Здравствуйте, SkyDance, Вы писали:
M>>Windows, но имхо, на SSD это мало роялит, разбор плюсиков — это основная нагрузка
SD>Я же не просто так упомянул "и какой компилятор". ICC, MSVC и clang уж шибко по-разному себя ведут.
Использую msvc и gcc
SD>Чтобы на Windows добиться близкой к linux/MacOS скорости сборки, нужно правильно настроить кучу разных мест. Например, выключить Defender (эта скотина порой вдвое увеличивает время сборки), Bitlocker (потому что оно до сих пор на CPU все шифрует, причем без использования аппаратного ускорения — то есть медленно), установить "Maximum Performance" режим в Power Options, и сделать еще кучу приседаний. И даже после всего этого macos/linux собирают быстрее. В конечном итоге, я на домашнем десктопе если что-то разрабатываю, то обычно в виртуалке, где крутится Linux. И это все работает быстрее, чем на хосте.
Сейчас у меня i5 восьмого поколения, брал в 18ом году, в конторе проц посвежее, остальное плюс-минус также, ОЗУ столько же, 16, SSD — 512, дома гиг, но дома ещё HDD, где проекты и всё остальное лежит, но компилеры и SDK лежат на SSD — в конторе заметно шустрее. Т.е. основная проблема — проц, как я вижу.
SD>Понимаю, что верится с трудом, — поэтому предлагаю просто попробовать.
Да не, верится. Хз, особо колдовать наверное не буду, думаю, просто современный проц надолго удовлетворит мои потребности и без приседаний.
M>>Тысяч двести могу потратить, в баксах это тыщи три по текущему курсу, но я хз, как рублёвые цены в наших магазинах соответствуют долларовым
SD>А, ну это бытовой компьютер, ни о каких threadripper и речи идти не может. Предполагаю, что монитор/клавиатура/мышь и прочая периферия есть, так что бюджет чисто на системный блок.
Ну, бюджет двигается плюс-минус, тредриппер я мельком глянул — от 80 тыр до 700 тыр — нижний в принципе доступен. Да, бюджет на "процессор". Если тредриппер сильно крут, то может и подумаю на счёт него. В основном же цель собрать максимум производительности за минимум денег — ну то есть новое топовое железо, которое стоит как чугунный мост, не рассматриваю, конечно, но аргументировано бюджет можно подкрутить туда-сюда.
SD>Если затачивать именно под С++ сборку, то нужно больше ядер, причем желательно однородных, дабы планировщику не плохело в попытках догадаться "а куда что забросить". Поскольку бюджет невелик, я бы брал AMD 9950X, хотя бы 32 Гб памяти, приличную материнку (чтобы ее питание не ограничивало процессор), кулер по вкусу (многие рекомендуют водянку, но я лично не люблю это усложнение). Разумеется, NVMe SSD, причем можно PCIe4 (гнаться за свежими PCIe5 пока смысла нет).
Ну вот как раз по памяти у меня сложилось впечатление, что 16 Гб вполне норм, проц гораздо важнее. Сейчас память подорожала, не резон брать. Вообще, наверное, просто сниму 16 Гб текущие (наверное DDR4), да где-то со старого ещё валяется 16 гиг наверное DDR3, там что-то глючило, лень было разбираться, но раз ценники на память так выросли, то пожалуй поразбираюсь, может хотя бы одна планка годная. Думаю, гнаться за DDR5 или что сейчас последнее особого смысла нет
SD>Если очень хочется именно Intel, и брать нужно прямо сейчас, то 285K или 14900K будут примерно одинаковы в плане производительности, но первый будет заметно горячее и сложнее охладить.
Нет, Intel как раз не особо хочется, поглядываю на AMD
SD>Скажу честно, это не вариант. Лучше сразу смотреть в сторону Amazon Bedrock и аналогов. Проекты на С++ не то что LLM, а даже человекам-то сложно понять. Локально запустить LLM на устройстве с мозгом от таракана, скажем так, мало что даст.
Ну, это в идеале, пока просто думаю потыкать локально в нейронки. Так-то у меня видяха low profile пережила уже пару апгрейдов системы, ей скоро паспорт уже должны выдать, вот и думаю, надо наверное брать что-то поновее, чтобы нейронки хоть как-то хромали.
SD>А вот для компиляции С++ ничего подобного не требуется, там все помещается и в собственный кэш процессора.
Ну хз, если для компиляции нужно много памяти, то логично, что и лишний кэш не помешает.
SD>Конечно, выигрыш от наличия большого L3 все равно есть. Но он нивелируется необходимостью снижать частоты, ибо сам кэш не бесплатный. Кроме того, — и это даже более важное отличие — на данный момент в официальной продаже нет 16-ядерных процессоров, у которых в каждой "плитке" есть 3D Cache. То есть, если ты возмешь AMD 9950X3d, то у восьми ядер этот кэш будет (это одна плитка), а у других восьми не будет (вторая плитка без кэша). Так что опять планировщику нужно гадать, что куда направлять, и в случае с компиляцией — хрен угадаешь.
Я из обзоров понял, что плитка 3D Cache работает для всех ядер, но ставится над (или под) одной плиткой ядра. И там проблема в том, что под плиткой кэша ядрам слишком тепло, и они снижают из-за этого частоту. Но в последних моделях типа 9950X3d плитку кэша зипихали под плитку ядра, и таких проблем уже нет.
SD>Ожидается, что AMD выпустить что-то вроде 9950X3D2, так чтобы в каждой плитке был кэш. Но неизвестно, когда именно это произойдет. И ценник у этого процессора явно будет "премиальным". А выигрыш на компиляции, думаю, уложится в 5-10%.
Не видел такого. Но, может, не разобрался, листал поверхностно пару вечеров