All streams
Search
Write a publication
Pull to refresh
3
0.1
Виктор Дручинин @Viknet

User

Send message

Да, мой стиль работы сильно отличается от вашего, это не значит, что у меня бардак и какофония :)


два браузера с 35 вкладками (Вы же их постоянно все смотрите, не так ли? Закладки ведь дураки придумали, лучше открытую вкладку держать)

Да, закладками я перестал пользоваться много лет назад, когда их количество перевалило за 10k. Я просто не возвращался к ним никогда, так уж мой мозг устроен.
А в процессе исследования новой темы у меня и 100-200 вкладок бывает, из которых какое-то количество останется "дочитать завтра" или переедет на iPad, чтобы дочитать за ужином/перед сном.


какофония от одновременно работающих YT + Twitch (Или вы их не смотрите одновременно? А если не смотрите — зачем указываете?)

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


3 параллельно запущенных IDE с разными проектами (И вы их все 3 параллельно разрабатываете?

Как уже сказал выше — я перестал закрывать приложения, когда ими не пользуюсь. Висит себе на отдельном рабочем столе, CPU не ест, оперативки полно — зачем закрывать-открывать попусту.


UPD: Выглядит это примерно вот так, если собрать все столы на один монитор.

Я имел в виду синхронизацию кэшей при изменении атомарного счётчика. Мьютексов там нет.

Объективное сравние, тесты, видео работы… зачем нам это, мы просто обзовем это все истеричным хайпом с ютуба и отбросим. Объективность уровня «фанат эпл». Поговорку про глаза и мочеиспускание приводить не буду, но вы поняли. Если что то и «хайпует» то это вот эта статья с ее пафосом и кричащим заголовком.

Объективными сравнениями завален весь интернет, но вы выбрали самый трешовый источник информации — русскоязычный ютюб. Вылезайте из пузыря.


Я уже понял что объективной оценки производительности от вас ждать не стоит, но вы мне расскажите как вы столько всего ужали в свои 6-7Гб оперативы и что бы «НИЛАГАЕТ!!11». С 4Гб просто интерент серфить больновато уже, а тут столько работы.

У меня 16 Гб модель, и я не могу представить, чем забить всю память сейчас. Вот так выглядит Safari с 25 вкладками, Firefox с 10 видео (youtube + twitch), XCode с небольшим iOS-проектом и запущенным приложением с локальным дебагером, IDEA с немаленьким Rust-проектом, VSCode с другим rust-проектом, торрент-клиент, мессенджеры, почта, и ещё десяток небольших приложений, которые не в топе памяти. Обычно я работаю с одним проектом одновременно, но закрывать приложения я перестал, т.к. это не влияет на работу всего остального.

А использование shared_ptr влияет на все потоки, так как там тоже атомарные переменные.

Атомарный там только счётчик ссылок, поэтому синхронизация происходит только при копировании/разрушении shared_ptr. Доступ к объекту по указателю не является атомарным (и дорогим), поэтому в многопоточной среде требует внешних средств синхронизации.

Другого десктопа у меня просто нет.
Без более-менее приличного процессора большинство игр не будет укладываться в стабильные 90 fps. Впрочем, у меня старенький i5-6600K, разогнанный до 4.5 ГГц, и он уже далеко не "топ".
Но надо понимать, с чем я сравниваю — M1 это энергоэффективный чип для ультрабуков, самый слабый из всего, что будет выпущено под Apple Silicon.

Вы можете сколько угодно смотреть истеричные ролики с YouTube, зарабатывающие на хайпе, и делать вид, что это реальное положение вещей.
У меня этот M1 стоит на столе и не лагает от слова совсем. Даже перекодирование видео на всех ядрах (не на GPU) можно заметить только заглянув в диспетчер задач. Я вообще не знаю, как его заставить тормозить. При первоначальной установке у меня происходила индексация диска, скачивание и распознавание фото-библиотеки, импорт музыкальной библиотеки, установка XCode и ещё десятка приложений, а я при этом браузил вэб в Firefox и Safari и не видел даже намёка на подлагивания.
А то, что он компилирует код в 2 раза быстрее моего VR-ready десктопа и рабочего макбука — это уже приятный бонус.

Энергопотребление CPU M1 измерено очень точно, и в тесте Cinebench R23 составляет 15 Вт. Максимальное наблюдаемое потребление — 21 Вт при полной загрузке всех исполняемых блоков синтетической нагрузкой.
4800u при этом может потреблять до 35 Вт в Cinebench даже в профиле на "15 Вт TDP": https://next.lab501.ro/notebook/english-lenovo-ideapad-s540-13are-vs-13iml-amd-ryzen-7-4800u-vs-intel-core-i7-10710u/14

AMD 4800u имеет 8 полноценных ядер и SMT. Apple M1 — 4 производительных ядра и 4 слабеньких энергоэффективных (они дают примерно ту же производительность, что второй SMT поток на ядре). При этом 4800u выигрывает в лучшем случае (в разных ноутбуках производительность может отличаться) на 25% в Cinebench, при двухкратном реальном энергопотреблении (не путайте с TDP).

Проблема «специальных блоков» для выполнения конкретных задач — к ним нужно специальное ПО, привязанное именно к конкретным блокам. Через год выйдет процессор Apple M2+ с другим «декодером» или блоком DSP. И вот незадача: все ПО от M1 к нему уже не подходит.

Это не так работает. Разрабатывая приложение под MacOS вы не используете инструкции сопроцессоров напрямую, а вызываете разные фреймворки, которые под капотом сами выбирают, на чём исполнять команды: на CPU, GPU, Neural Engine, ISP… Для нового чипа с новыми ускорителями будет поддержка в фреймворке, и вам вообще ничего не надо в приложении менять.


Именно по этой причине Intel и AMD не идут по такому пути. У них, кстати, очень большой набор специальных команд на все случаи жизни. Это тоже с натяжкой можно назвать «специализированными блоками», однако никто не заставляет их использовать. Это просто расширение для основного набора команд и от их наличия или отсутствия меняется только производительность в узком классе задач.

А вот у Intel и AMD как раз есть эта проблема, из-за чего совместимость приложений регулярно ломается, если программист не предусмотрел фоллбеки с AVX, например (желательно тоже оптимизированные).


А бенчмарки для этих процессоров — вообще маркетинговая ерунда. Да, конвейерный DSP уделает обычный процессор в задачах, под которые заточен. Как и «декодер». Но в первую очередь, они требуют создания специальных условий для правильной работы — подготовленные данные, определенная последовательность действий и формат результата, во вторых — они имеют узкую специализацию. В задачах широкого профиля (а не задачах показывать кинчик очередному адепту яблочного культа) классический процессор будет быстрее и удобнее.

Вы ни в бенчмарках не разбираетесь, ни статью не прочитали внимательно.

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

А эта возможность где-то задокументирована или доступна в пользовательском коде? Или вы просто из существования rosetta 2 делаете вывод?

На мой субъективный взгляд, писать корректный код на языке без исключений проще, чем с исключениями.
Появляется уверенность, что ты не забыл обработать ошибки. Из сторонней зависимости не прилетит исключение, о котором автор забыл, когда подключал другую зависимость. При обновлении библиотеки не появится новый тип исключения, о котором можно узнать только из чейнджлогов или падения в проде. В целом, проще рассуждать о всех потоках исполнения программы, а не только о "happy path".

Первый пример делает преобразование буфера, в котором уже лежит корректный utf8 в utf8-строку. Упасть оно может только если код чуть выше неправильно работает, и его надо срочно чинить.


Второй пример явно роняет приложение сборку приложения, если пытаться использовать функциональность, которая ещё не реализована.


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


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

Да, Intel имеет все права по лицензированию.
Но, во-первых, с Apple у них особые договорённости, и в M1 уже встроены не-Intel Thunderbolt контроллеры, и на них уже есть лицензия.
А во-вторых, в стандарте USB4 есть опциональная поддержка thunderbolt, которая не требует лицензии.

Размер овераллокации при авторесайзе слайса не определён. Именно в этом месте возникает полноценное UB.

А Wintel миру не надо обеспечивать полный переход на ARM за 2 года. Это и преимущество и недостаток. ARM-совместимые компьютеры будут медленно пожирать долю x86, двигаясь от планшетов через ноутбуки разного класса к офисным компьютерам и далее.
К настоящему моменту самые популярные приложения для развлечений и лёгкой работы или уже портированы или прилично работают через эмуляцию. Время автономной работы у текущих WoA устройств тоже приличное. Не хватает только производительности, которую как раз в теории может обеспечить Qualcomm или в этом году, или потенциально через год — с ядрами nuvia.

Более мощные варианты будут для другого класса устройств. Если Qualcomm сможет сделать 90% производительности от M1 в примерно том же энергопотреблении — это уже будет очень серьёзным чипом для ультрабуков. И он, в отличие от процессоров Apple, будет доступен разным производителям.

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

В апстрим попадут рано или поздно попадут патчи или от Corellium или от marcan. И поддерживаться они будут, т.к. устройства популярные.


Банально лет через 7, когда apple перейдет на новые процессоры, у разработчиков может не оказаться под рукой железа для тестирования.

Для "новых процессоров" будет свой проект по портированию. Но как это относится к поддержке текущего железа?


И это даже без учета помех со стороны apple вроде судебных исков или железной блокировки нелицензируемых ОС (вполне в духе apple).

Apple таким никогда не занималась, а в данном случае наоборот упрощает разработку сторонних ОС (впрочем, не открывая спецификаций).


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

Покажите хотя бы отдалённый аналог Macbook Air M1 с пассивным охлаждением и сравнимой производительностью, тогда можно будет что-то говорить о "средних характеристиках" и цене.


При этом по другую сторону есть RISC V, который выглядит более перспективным как архитектура, полностью открытый, имеет компанию, которая его продвигает и поддерживает разработчиков (а не мешает им)

Единственное отличие RISC-V от ARM — в бесплатности лицензирования и расширения ISA. Микроархитектура процессоров так же будет оставаться закрытой. Для конечного потребителя вообще ничего не поменяется.


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

Покажите, где можно взять хотя бы отладочную плату (про консьюмерские устройства вообще рано говорить) дешевле аналогочного ARM.
А RISC-V процессоров, сравнимых с M1, сейчас вообще не существует, ни в каком виде.

Information

Rating
4,106-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity