10 % полезной информации 30% информация полезная но не до конца раскрыта 60 % воды не как не связанной с темой. Человек который посмотрит все это, больше запутается чем разберется как это работает и что всё-таки нужно знать. Может быть если бы тут присутствовала правильно выстроенная логическая цепочка, процент полезной информации был бы больше. А так выглядит со стороны что автор сейчас сидит на экзамене и пытается рассказать все что знает о памяти.
А еще попытка выговорить максимально возможное количество слов за ограниченное время, что очень напрягает, если ты не владеешь языком на высоком уровне.
Согласен, этот чел будто амфетаминами закинулся и типа супермозг словесный понос устроил, очень стремная подача материала, слушать только на 2х скорости приходится. Крч скажу просто в двух предложениях. Кэш процессора, это его быстрая память, считается что последние сохранённые данные в памяти с высокой долей вероятности будут использованы в самое ближайшее время, именно поэтому был создан кэш, кэш это сохранённый(закэшированный блок информации из оперативки некоторого малого объема, способный для хранения большего объема данных чем регистр, то есть более чем одно число). Именно близость и встроенность в процессор такой памяти обеспечивает максимальную производительность, не нужно обращатся к оперативной памяти, процессор обращается к ней лишь с случае если ни в одном из уровней кэша не находится нужной информации, всё, спасибо за внимание
Мне 45, лет 5 уже периодически сую свой нос в уроки по программированию, как правило безуспешно , потому что весь контент на ютубе о том как писать какую то фигню по уроку и никто не показывает практического применения данным урокам, ты чувак как минимум показываешь как это работает, по чему и для чего (немного конечно сумбурно , но не суть=) ). смотрю сейчас твой стрим и хочу тебе сказать что изи контент нужен, нужны эти основы. я вес плей лист основ за 2 вечера пересмотрел взахлеб. спасибо тебе за твой труд.
Все очень просто не смотри видео , а больше практики , книг и ручной работы в тетради и клавиатуре =) Не зря в универе разделили Computer Sciense и само программирование ... Если хочешь знать что внутри начни с СИ , потом Ассемблер .... если не хочешь знать , выбирай то что нравится или то что хочешь делать ))
Приятное обзорное видео, после которого в голове остаются какие-то термины, небольшое представление о том как устроена память и о некоторых ключевых вопросах. Такие видео очень вдохновляют!! Спасибо за обзор!
Основной запрос энтерпрайс рынка - контейнеризированные сервисы с изолированным запуском - заточенные под работу с redis, kafka, postgresql, есть небольшая претензия на ARM в перспективе (тот же .Net 5), негласный запрет на использование AVX и любых X64 напрямую (у нас же много агентов в кластере и хз каким может оказаться железо, на которое переедет ваш сервис после очередного OutOfMemoryException)
Слушай, товарищ! Это ж надо так гореть, чтоб делать и снимать подобные видео, требующие просто гигантской проработки?! Мой всемерный респект!!! Практически весь контент на канале крайне интересен и порой просто укладывает и систематизирует знания в голове, а порой заставляет напрягать извилины и подробно ковыряться в вопросах. 👍👍
Теперь эта статья не кажется такой сложной и непостижимой, обожаю изучать low level, хоть хз пригодится ли он, но статью теперь точно почитаю, хотя бы первые 3 и 5ю главы. P.S спс за наводку на книжку по ос)
сначала думаю 20 мин это много для видео, включил и залип чисто, топ контент, не особо релевантен для меня, но что-то с этого вынести просмотревший обязан
ЭЭЭЭЭ ни чего не понятно но очень интересно:) почувствовал себя первоклассником на паре в ВУЗе. :) Если Автор решится создать видео про "Магию преобразования эл.энергии в картинку на мониторе на языке Чайников" со всеми переходами от блока питания до видеокарты с пояснением процессов проистекающих внутри - это был бы бестселлер как минимум:))))
страшно представить хронометраж учитывая кол-во необходимых знаний как по физике так и по информатике логике там чтобы досконально понять как одни только транзисторы работают надо порядком рассказать про все что только можно
Ууууу сука, та самая статья, которая которая заставит человека чувствовать себя тупым. Раз 6 читал этот пиздец. не дочитал. Но с каждым разом дальше и дальше захожу
Ваяяяя, HOTZ. Где - то есть видео, где он говорит, какие языки дожен знать тру разраб, и там АСМ, СИ и Питох. Тоже такой токсичный чувак, но крутой. Рад что видосы длинее становятся. С аперкота в лайк всадил.
Чем больше изучаю программирование - тем больше понимаю, что оно не для всех. Мне даётся относительно легко, чему безумно рад. Автору спасибо за видео, познавательное и даёт ответы на многие вопросы. Комментарий для продвижения.
Да, по поводу NUMA. Там все очень просто. На многопроцессорных системах у каждого процессора есть "своя" память. То есть память которая напрямую связана с конкретным процессором. Но процессоры не лишены возможности обращаться к памяти друг-друга по общей шине. Так вот такое взаимодействие более дорогое, чем поход за данными в свою память. Очень простыми словами NUMA - это (CPU+ своя RAM). На практике расположение данных в своей памяти позволяет значительно снизить задержки.
Некоторая критика: 1)Мне кажется, Виндертон просто не понимает, что имеют ввиду, когда говорят "закидаем железом", потому что чаще всего это говорят в контексте backend-приложений, где ботлнеком будет БД, а железом мы будем масштабировать сервера, а не пытаться увеличить скорость доступа куда-либо. 2) MMU ничего не делает для процессов, она даже о них не знает, все, что она делает - это переводит виртуальные адреса в физические 3) Вообще можно писать instruction cache friendly код, например, убирать if-statements(Плюс это избавит от необходимости branch prediction'а), инлайнить функции, table lookup, в общем все, что избавляет от релоадинга кэша инструкций 4) Второй тип людей не отрицает первых, редис тоже полезно знать как поднять, как он работает, как его конфигурировать, при чем скорее о редисе ты будешь знать больше, так как он необходим тебе для решения задачи, а знания CS будут нужны, что бы понять, как редис работает, как следствие, сделать все правильно.
1. Не брат, я неоднократно слышал вбросы, по типу, «больше материи». Приведи пример ботлнека с бд, у меня с этим опыта мало. Интересно почитать. Мне твои комменты нравятся. Типа, у людей, которые против оптимизации и дырочки Лоу-левела в голове то, что даже если у тебя лимиты по tp, lat и bw(в контексте сети), то просто кабеля потолще делайте. Понимаешь? Я в видео коцепт мысли подчеркнул, сказав что люди просто говорят, «зачем дрочить перформанс критические моменты, если железо в целом мощнее, и можно покупать его больше». В голове то, что 1ghz +256ram решают проблему за 10ms, а 2ghz+512ram решат за 5. Я попытался донести что все гораздо шире и сложнее. 2. Я это и сказал, нет? Он же по сути как и ALU, основное время в instruction execute проводит. Как вообще ты мог подумать, что я думаю, что что-то в процессоре знает про такие хай левел обертки как процесс. Не понимаю тут критики, слишком предвзято. 3. Поэтому и берём всегда в сравнение С. Ветвления убирать - это так себе идея, но тот уже branch prediction решает вопросы. Сложная штука, я ещё в ней не разобрался до удовлетворительного статуса. 4. Это тоже было концептом, и ты будь то придираешься. Очевидно, что ты пользуешься инструментами, тот же яп, и изучаешь теорию компиляторов, чтобы лучше понимать что происходит. Посыл был в том, что вторая группа людей ищет онли маркетбл навыки, без желания изучать основы(этого же нет в вакансии), и вещи, которые помогают открыть «не только входную дверь, но и остальные».
@@wndtn 1. Не, ну дебилов везде много, просто, когда какой-нибудь Умпутун говорит, что "железом закидаем", то имеет в виду имеено это. 2. Ну просто ты на 10:30 и сказал, что MMU делает иллюзия бесконечной памяти для процессов, на самом деле, много нынче людей думают, что MMU делает какую-то магия, очень простая штука, на самом деле, но я не думаю, что ты этого не знаешь, просто для людей, которые не в курсе не очень хороший способ объяснить, как мне кажется. 3. Ну, вообще, убирать ветвления - ни то, что бы плохая идея, если тебе нужен производительный код(Так как prediction основывается исключительно на адресе текущей инструкции и некоторой истории, которая хранится BTB, поэтому уменьшение количества ветветвления даст BTB-friendly код, если так можно сказать), но здесь нужно смотреть на BTB твоего процессора, конечно. 4. Ну да, есть художники, а есть маляры, и ничего плохого в малярах нет, но я даже не совсем об этом, мне просто не нравится твой посыл, что вот есть сишники и плюсовики, они шарят, они молодцы, а есть "другие", которые занимаются элементарной херней. Ты недавно на стриме говорил, что вот джава со спрингом - это ужас и мрак, спецы там делают какие-то лоускильные вещи, при этом, видимо, даже не разобравшись в этом, спринг - это просто контейнер внедрения зависимостей, всё, я вот работаю спринг-девелопером, у нас любой бэкэнд разраб знает, что такое branch prediction, да, мы не заботимся о том, что бы в кеш влезть, потому что все равно боттленеком будет сеть, но нам нужно это знать, что бы понимать, что вообще происходит. То, что тебе на твоем жизненном пути попалась какая-то херовая работа на джаве - это не причина теперь говорить так про все, потому что такие же галеры могут быть и на плюсах и особенно на си. В Нетфликсе вот не особо жалуются, что у них весь core на спринге написан. Хотя может я просто неправильно понял, пис.
насколько же ничтожным себя ощущаешь, с одной стороны это конечно круто, но все равно, жутко становится от объема информации и необратимости того факта, что разобраться в этом всем - очень и очень смелая идея.
А я, знаешь, работаю программистом, но когда вижу компьютеры, поезда, автомобили, думаю, как вообще можно было это придумать и сделать? А заканчивал я физфак теоретическую физику. Ничего уже не помню, восхищаюсь людьми, которые что-то могут сделать сами.
А может это и здорово, что абстракции построены настолько хорошо, что благодаря этому тебе, за редкими исключениями, и не надо знать об них. И только благодаря хорошим абстракциям мы можем строить большие приложения
Ох, многопоточность.... Когда мне нужно было быстро общитывать матрицы в много потоки и многаГИГА ОЗУ я начал изучать SSE, AVX и реализовал некторый функционал. И какая же фак была, когда я уперся в пропускную скорость ОЗУ. Проц тупо быстрее перемножал матрици чем чтение\запись ОЗУ. Второй проблемой было это синхронизация многопоточных вычислений. Я по правде так и не нашел как грамотно реализовать синхронизацию паралелизма на много потоке как на ЦПЮ так и на ГПЮ, пока отложил на чуть позже, сейчас больше самими нейросетями занят. Но мысль о времени, когда придется писать обработку большого объема даных во все щели и ЦПЮ и ГПЮ и еще и туда сюда это гонять, немного пугает. А шо там с ЭКЗО флопными супер компами, я вообще не предсавля как там организванна сестема даных. Мое имхо, врут они про экзафлопы. В нейросетях, где каждая ячейка напрямую связана с другой ячейкой все тупо ограничет ПСП и хоть сто мильйнов процесоров, если обмен даных не будет совершен с надлежащй скоростью, все до жопы
Ничего не понял, но было весьма интересно. Хочу сделать свой игровой движок (возможно на Линукс), а оптимизацию я обожаю. Вспоминая свои первые дни обучения, когда я везде и всюду использовал тип integer, сам на себя фейспалм делаю, осознавая, как я разбазаривал памятью. Про очистку мусора тоже недавно узнал. Да я и до сих пор не являюсь программистом, но если стану, то обязательно учту такие вещи. А насчёт невозможности сделать быстрое ОЗУ не совсем согласен, дело в том что технологии развиваются семимильными шагами, а в будущем рано или поздно появятся новшества, например, оптические технологии, после их внедрения супер-пупер мощные блоки питания и массивные кулеры канут в лету, а раз так, то можно и слабые источники питания можно будет применять, например, стронциевые батареи или на базе других элементов, срок службы которых пропорционален периоду полураспада, а значит на одной батарее ПК будет работать хоть столетия если это потребуется.
Не являюсь специалистом, но хочу придраться к фразе. "Атомарные операции на CISC-микроархитектурах не поддерживаются...давно не так...кому интересен ARM". Так ведь ARM не CISC, а RISC архитектура (Advanced RISC Machines) (Возможно в предложении был акцент на другом и я неправильно понял). Также по отдельным кэшам для инструкци и данным. Это всё борьба гарвардской и фон-неймановской архитектуры. На Вики русской есть статья по Гарвардской арзитектуре и там подраздел "Гибридные модификации с архитектурой фон Неймана" делает причину разделения немного понятнее.
Поправка насчет таргетной платформы по статистическим данным Steam: Steam, пускай и является основной статистикой по используемому железу в мире, собирает данные с, как правило, геймеров. Т.е. мы не учитываем людей, которые не относятся к игрокам. Плюс, юзер сам решает будет он отправлять информацию о своем железе или нет, что еще сильнее снижает выборку.
Насчёт steam survey, в основном те кто зарегистрирован на стим у них будет стоять винда(игровой пк), так как стим это игровая платформа, и аж никак не поиграешь на маке или линуксе. Поэтому данные в глобальной интернете будут разняться.Ведь стим берет инфу у тех, кто уже зареган, а не у независомых пк юзеров.
Помню, когда на неких курсах в учебном центре в 7 классе учился прогать на паскале. И тогда я был уверен, что при объявлении переменной под не выделяется место на жëстком диске.
Очень хочется побольше таких видосов, в таком формате. Сразу вспоминается время, когда я только тебя нашел (и начинал программировать сам) и гуглил термины каждые 5 сек, что, наверное, и определило мой интерес к подомному лоу-лвлу и вдохновило на изучение основ. С тех пор начитался Грегори и Танненбаума и этот видос прошел на одном дыхании. Пожалуйста, не останавливайся
Спасибо за ролик! И за то что объяснил что путь в программирования нужно начинать с железа - понимания работы компьютера и т. п., проще говоря с цифровых технологий и радиоэлектроники. В основном все говорят наоборот.
Это видео больше просто "упоминание", чем какой-то поверхностный разбор из-за чего новички будут хвататься за волосы, а те кто уже в курсе, просто закрепят(вспомнят). Увидел в этом ролике упоминание о cache и предвкушал, что будет показан какой-нибудь инструмент по отслеживанию cache hit / miss. Но увы... Долго ищу какое-нибудь решение, чтобы наглядно отслеживать такие данные, но пока так и не нашел. Находил упоминание под MIPS процессоры, что при спец. правах доступа можно включить встроенный профайлер (счетчик cache hit / miss) прямо из под процессора, но пока так и не нашел особой конкретики как это сделать. По поводу 18:27 мб под x86 это так, но тестировал одно устройство на MIPS и порядок вертикаль > горизонталь давало меньше задержек.
Не успел начать, а уже веселье: ты правда думаешь, что «всякие там read/write» - это из стандартной библиотеки? А надо бы задуматься, почему маны по, например, strlen или signal или malloc находятся в разделе 3, а read/write - в разделе 2. А потому, что read/write это не функции из стандартной библиотеки C, а системные вызовы - system calls, которые предоставляются ядром ОС.
Я просто поражаюсь гиперактивности Хотца. 26 лет человеку, а он уже создал прямого конкурента Теслы, взломал Android, взломал PS3, один из самых талантливых хакеров в мире. Больше всего удивляет то, что этот человек *ВООБЩЕ* не устаёт, и может быть одинаково продуктивен спустя 10 часов кодинга за компьютером. Вот бы мне так.
Так потому что он говорит с огромной скоростью, и хоть какая-то полезная информация есть только ближе к концу. А поскольку я уже знала, что кешируются рядом находящиеся адреса, я не получила ни капли полезной информации
Снимаю шляпу. Парадокс, но чем сложнее термины, тем интереснее в них разбираться и откапывать простые истины. Вселенская благодарность за материал, кто считает его бесполезным - сам себе злобный Буратин
Новичку будет конечно интересно, но от того что автор оперирует техническими терминами, видео не становится информативней - сплошная вода под "техническим соусом".
Ребзя, кто досмотрит до конца, напишите коммент под этим комментом. Вас мало будет, хочу примерно знать кто осилил вообще.
Пис
13:02 добавление чего? Я уже на разной скорости этот фрагмент пытался расслышать
Boolean
@@wndtn сяп
Много и сложно у Таненбаума)
+1 комментарий под комментарием Winderton'a
Даёшь больше таких фундаментальных видео! Очень круто)
Вин, го след видос про рендеринг
10 % полезной информации 30% информация полезная но не до конца раскрыта 60 % воды не как не связанной с темой. Человек который посмотрит все это, больше запутается чем разберется как это работает и что всё-таки нужно знать. Может быть если бы тут присутствовала правильно выстроенная логическая цепочка, процент полезной информации был бы больше. А так выглядит со стороны что автор сейчас сидит на экзамене и пытается рассказать все что знает о памяти.
А еще попытка выговорить максимально возможное количество слов за ограниченное время, что очень напрягает, если ты не владеешь языком на высоком уровне.
Согласен, этот чел будто амфетаминами закинулся и типа супермозг словесный понос устроил, очень стремная подача материала, слушать только на 2х скорости приходится. Крч скажу просто в двух предложениях.
Кэш процессора, это его быстрая память, считается что последние сохранённые данные в памяти с высокой долей вероятности будут использованы в самое ближайшее время, именно поэтому был создан кэш, кэш это сохранённый(закэшированный блок информации из оперативки некоторого малого объема, способный для хранения большего объема данных чем регистр, то есть более чем одно число). Именно близость и встроенность в процессор такой памяти обеспечивает максимальную производительность, не нужно обращатся к оперативной памяти, процессор обращается к ней лишь с случае если ни в одном из уровней кэша не находится нужной информации, всё, спасибо за внимание
Мне 45, лет 5 уже периодически сую свой нос в уроки по программированию, как правило безуспешно , потому что весь контент на ютубе о том как писать какую то фигню по уроку и никто не показывает практического применения данным урокам, ты чувак как минимум показываешь как это работает, по чему и для чего (немного конечно сумбурно , но не суть=) ). смотрю сейчас твой стрим и хочу тебе сказать что изи контент нужен, нужны эти основы. я вес плей лист основ за 2 вечера пересмотрел взахлеб. спасибо тебе за твой труд.
Все очень просто не смотри видео , а больше практики , книг и ручной работы в тетради и клавиатуре =)
Не зря в универе разделили Computer Sciense и само программирование ...
Если хочешь знать что внутри начни с СИ , потом Ассемблер .... если не хочешь знать , выбирай то что нравится или то что хочешь делать ))
Симпл код - такой канал. Поймет и сможет любой
глупая отмазка
@@Илья-о3х9з о дааааа - ООП зашло как родное именно после Simple Code
Приятное обзорное видео, после которого в голове остаются какие-то термины, небольшое представление о том как устроена память и о некоторых ключевых вопросах. Такие видео очень вдохновляют!! Спасибо за обзор!
Будьте добры помедленней, я записываю. Хороший материал, но пересматривал три раза чтобы все услышать.
Основной запрос энтерпрайс рынка - контейнеризированные сервисы с изолированным запуском - заточенные под работу с redis, kafka, postgresql, есть небольшая претензия на ARM в перспективе (тот же .Net 5), негласный запрет на использование AVX и любых X64 напрямую (у нас же много агентов в кластере и хз каким может оказаться железо, на которое переедет ваш сервис после очередного OutOfMemoryException)
Слушай, товарищ! Это ж надо так гореть, чтоб делать и снимать подобные видео, требующие просто гигантской проработки?! Мой всемерный респект!!! Практически весь контент на канале крайне интересен и порой просто укладывает и систематизирует знания в голове, а порой заставляет напрягать извилины и подробно ковыряться в вопросах. 👍👍
Ваши видео выхывают просто взрыв мозга! Жду с нетерпением новые видео!
Теперь эта статья не кажется такой сложной и непостижимой, обожаю изучать low level, хоть хз пригодится ли он, но статью теперь точно почитаю, хотя бы первые 3 и 5ю главы.
P.S спс за наводку на книжку по ос)
А ты в какой ветки движешься? Геймдев, веб?
@@prana6854 бэк, также хочу лоу лвл знать, может чтобы в будущем не на реакте писать, а сам реакт писать, тип того
сначала думаю 20 мин это много для видео, включил и залип чисто, топ контент, не особо релевантен для меня, но что-то с этого вынести просмотревший обязан
Спасибо большое, Вин! На мой взгляд чутка сложновато, ну это скорее всего потому что я тупой джавастриптизер :)
ЭЭЭЭЭ ни чего не понятно но очень интересно:) почувствовал себя первоклассником на паре в ВУЗе. :) Если Автор решится создать видео про "Магию преобразования эл.энергии в картинку на мониторе на языке Чайников" со всеми переходами от блока питания до видеокарты с пояснением процессов проистекающих внутри - это был бы бестселлер как минимум:))))
страшно представить хронометраж учитывая кол-во необходимых знаний как по физике так и по информатике логике там чтобы досконально понять как одни только транзисторы работают надо порядком рассказать про все что только можно
Ууууу сука, та самая статья, которая которая заставит человека чувствовать себя тупым. Раз 6 читал этот пиздец. не дочитал. Но с каждым разом дальше и дальше захожу
Ваяяяя, HOTZ. Где - то есть видео, где он говорит, какие языки дожен знать тру разраб, и там АСМ, СИ и Питох. Тоже такой токсичный чувак, но крутой. Рад что видосы длинее становятся. С аперкота в лайк всадил.
"Местовую" локальность можно назвать "пространственной". Спасибо за видео!
Такое чувство ,что смотрю в 1,25
При монтировании скорость увеличил прост
А у меня после старых его видео ощущение что смотрю в 0.75-0.5xx
знакомьтесь, так говорят нормальные люди, а не типичные мямли-блохеры
Понравилось видео, всё доступно и понятно
Хорошая шутка
вот этот умный чувак из ютуба, который обьяснит мне как программировать
Спасибо за видео, я еще очень далек от программирования но было интересно послушать!
Возвращение к истокам. Спасибо за годный контент!
Просмотрел полностю. Очень интересно.
Чем больше изучаю программирование - тем больше понимаю, что оно не для всех. Мне даётся относительно легко, чему безумно рад. Автору спасибо за видео, познавательное и даёт ответы на многие вопросы. Комментарий для продвижения.
9:36 пространственная
Да, по поводу NUMA. Там все очень просто. На многопроцессорных системах у каждого процессора есть "своя" память. То есть память которая напрямую связана с конкретным процессором. Но процессоры не лишены возможности обращаться к памяти друг-друга по общей шине. Так вот такое взаимодействие более дорогое, чем поход за данными в свою память. Очень простыми словами NUMA - это (CPU+ своя RAM). На практике расположение данных в своей памяти позволяет значительно снизить задержки.
Спасибо за статью, пойду изучать!
Ухх, за вставку Hotz'a отдельное спасибо, смотрю его стримы, ничего не понимаю, но чувствую себя богом😀
А ты сам лично в каком направлении двигаешься?
Некоторая критика:
1)Мне кажется, Виндертон просто не понимает, что имеют ввиду, когда говорят "закидаем железом", потому что чаще всего это говорят в контексте backend-приложений, где ботлнеком будет БД, а железом мы будем масштабировать сервера, а не пытаться увеличить скорость доступа куда-либо.
2) MMU ничего не делает для процессов, она даже о них не знает, все, что она делает - это переводит виртуальные адреса в физические
3) Вообще можно писать instruction cache friendly код, например, убирать if-statements(Плюс это избавит от необходимости branch prediction'а), инлайнить функции, table lookup, в общем все, что избавляет от релоадинга кэша инструкций
4) Второй тип людей не отрицает первых, редис тоже полезно знать как поднять, как он работает, как его конфигурировать, при чем скорее о редисе ты будешь знать больше, так как он необходим тебе для решения задачи, а знания CS будут нужны, что бы понять, как редис работает, как следствие, сделать все правильно.
1. Не брат, я неоднократно слышал вбросы, по типу, «больше материи».
Приведи пример ботлнека с бд, у меня с этим опыта мало. Интересно почитать. Мне твои комменты нравятся.
Типа, у людей, которые против оптимизации и дырочки Лоу-левела в голове то, что даже если у тебя лимиты по tp, lat и bw(в контексте сети), то просто кабеля потолще делайте. Понимаешь?
Я в видео коцепт мысли подчеркнул, сказав что люди просто говорят, «зачем дрочить перформанс критические моменты, если железо в целом мощнее, и можно покупать его больше». В голове то, что 1ghz +256ram решают проблему за 10ms, а 2ghz+512ram решат за 5. Я попытался донести что все гораздо шире и сложнее.
2. Я это и сказал, нет? Он же по сути как и ALU, основное время в instruction execute проводит.
Как вообще ты мог подумать, что я думаю, что что-то в процессоре знает про такие хай левел обертки как процесс. Не понимаю тут критики, слишком предвзято.
3. Поэтому и берём всегда в сравнение С. Ветвления убирать - это так себе идея, но тот уже branch prediction решает вопросы. Сложная штука, я ещё в ней не разобрался до удовлетворительного статуса.
4. Это тоже было концептом, и ты будь то придираешься. Очевидно, что ты пользуешься инструментами, тот же яп, и изучаешь теорию компиляторов, чтобы лучше понимать что происходит. Посыл был в том, что вторая группа людей ищет онли маркетбл навыки, без желания изучать основы(этого же нет в вакансии), и вещи, которые помогают открыть «не только входную дверь, но и остальные».
@@wndtn 1. Не, ну дебилов везде много, просто, когда какой-нибудь Умпутун говорит, что "железом закидаем", то имеет в виду имеено это.
2. Ну просто ты на 10:30 и сказал, что MMU делает иллюзия бесконечной памяти для процессов, на самом деле, много нынче людей думают, что MMU делает какую-то магия, очень простая штука, на самом деле, но я не думаю, что ты этого не знаешь, просто для людей, которые не в курсе не очень хороший способ объяснить, как мне кажется.
3. Ну, вообще, убирать ветвления - ни то, что бы плохая идея, если тебе нужен производительный код(Так как prediction основывается исключительно на адресе текущей инструкции и некоторой истории, которая хранится BTB, поэтому уменьшение количества ветветвления даст BTB-friendly код, если так можно сказать), но здесь нужно смотреть на BTB твоего процессора, конечно.
4. Ну да, есть художники, а есть маляры, и ничего плохого в малярах нет, но я даже не совсем об этом, мне просто не нравится твой посыл, что вот есть сишники и плюсовики, они шарят, они молодцы, а есть "другие", которые занимаются элементарной херней. Ты недавно на стриме говорил, что вот джава со спрингом - это ужас и мрак, спецы там делают какие-то лоускильные вещи, при этом, видимо, даже не разобравшись в этом, спринг - это просто контейнер внедрения зависимостей, всё, я вот работаю спринг-девелопером, у нас любой бэкэнд разраб знает, что такое branch prediction, да, мы не заботимся о том, что бы в кеш влезть, потому что все равно боттленеком будет сеть, но нам нужно это знать, что бы понимать, что вообще происходит. То, что тебе на твоем жизненном пути попалась какая-то херовая работа на джаве - это не причина теперь говорить так про все, потому что такие же галеры могут быть и на плюсах и особенно на си. В Нетфликсе вот не особо жалуются, что у них весь core на спринге написан. Хотя может я просто неправильно понял, пис.
Нерд-культуру в массы!
насколько же ничтожным себя ощущаешь, с одной стороны это конечно круто, но все равно, жутко становится от объема информации и необратимости того факта, что разобраться в этом всем - очень и очень смелая идея.
А я, знаешь, работаю программистом, но когда вижу компьютеры, поезда, автомобили, думаю, как вообще можно было это придумать и сделать? А заканчивал я физфак теоретическую физику. Ничего уже не помню, восхищаюсь людьми, которые что-то могут сделать сами.
@@ФедорАлексеевичМалашин красивое описание современной сферы разработки)
А может это и здорово, что абстракции построены настолько хорошо, что благодаря этому тебе, за редкими исключениями, и не надо знать об них. И только благодаря хорошим абстракциям мы можем строить большие приложения
+
На самом деле там не так всё и сложно, как кажется на первый взгляд.
Около года назад читал по твоей же рекомендации)
Полезный видос, помог закрепить некоторые моменты
Спасибо, Вин!
Как всегда, завёз достойно и интересно.
У меня 🧠 вскипел.
Как всегда информативно и полезно.
Несколько раз проверил скорость воспроизведения ))
Думал смотрю на 1.25, инфа наваливается конкретно )
Ну блин самую интересную часть скипнул, прям на глазах! А как же дуал сокеты на зеонах?! Что как не народная сборка? Эх.
Ох, многопоточность.... Когда мне нужно было быстро общитывать матрицы в много потоки и многаГИГА ОЗУ я начал изучать SSE, AVX и реализовал некторый функционал. И какая же фак была, когда я уперся в пропускную скорость ОЗУ. Проц тупо быстрее перемножал матрици чем чтение\запись ОЗУ. Второй проблемой было это синхронизация многопоточных вычислений. Я по правде так и не нашел как грамотно реализовать синхронизацию паралелизма на много потоке как на ЦПЮ так и на ГПЮ, пока отложил на чуть позже, сейчас больше самими нейросетями занят. Но мысль о времени, когда придется писать обработку большого объема даных во все щели и ЦПЮ и ГПЮ и еще и туда сюда это гонять, немного пугает. А шо там с ЭКЗО флопными супер компами, я вообще не предсавля как там организванна сестема даных. Мое имхо, врут они про экзафлопы. В нейросетях, где каждая ячейка напрямую связана с другой ячейкой все тупо ограничет ПСП и хоть сто мильйнов процесоров, если обмен даных не будет совершен с надлежащй скоростью, все до жопы
Просто лучший материал и спасибо за ссылки на оригинальные статьи.
Amazing! Very interesting! Thank you so much!
Может быть стоило сказать про "Вы просто время своем зря потратите"(14:03) на ещё в самом начале ролика? 😅
Ничего не понял, но было весьма интересно. Хочу сделать свой игровой движок (возможно на Линукс), а оптимизацию я обожаю. Вспоминая свои первые дни обучения, когда я везде и всюду использовал тип integer, сам на себя фейспалм делаю, осознавая, как я разбазаривал памятью. Про очистку мусора тоже недавно узнал. Да я и до сих пор не являюсь программистом, но если стану, то обязательно учту такие вещи. А насчёт невозможности сделать быстрое ОЗУ не совсем согласен, дело в том что технологии развиваются семимильными шагами, а в будущем рано или поздно появятся новшества, например, оптические технологии, после их внедрения супер-пупер мощные блоки питания и массивные кулеры канут в лету, а раз так, то можно и слабые источники питания можно будет применять, например, стронциевые батареи или на базе других элементов, срок службы которых пропорционален периоду полураспада, а значит на одной батарее ПК будет работать хоть столетия если это потребуется.
Ничего не понял, но за ссылку на статью спасибо.
Иногда ты делаешь вещи!
Не являюсь специалистом, но хочу придраться к фразе. "Атомарные операции на CISC-микроархитектурах не поддерживаются...давно не так...кому интересен ARM". Так ведь ARM не CISC, а RISC архитектура (Advanced RISC Machines) (Возможно в предложении был акцент на другом и я неправильно понял).
Также по отдельным кэшам для инструкци и данным. Это всё борьба гарвардской и фон-неймановской архитектуры. На Вики русской есть статья по Гарвардской арзитектуре и там подраздел "Гибридные модификации с архитектурой фон Неймана" делает причину разделения немного понятнее.
Видео достаточно познавательное, даже для тех, кто как я, совершенно не шарит в этом)
Бро спасибо тебе за контент, у тебя свой стиль, но ты говоришь
О очень многих полезных вещах
Поправка насчет таргетной платформы по статистическим данным Steam: Steam, пускай и является основной статистикой по используемому железу в мире, собирает данные с, как правило, геймеров. Т.е. мы не учитываем людей, которые не относятся к игрокам. Плюс, юзер сам решает будет он отправлять информацию о своем железе или нет, что еще сильнее снижает выборку.
Вроде по дефолту она включена, нет?
Спасибо за сипок рекомендованой литературы
^_^
Уже 3-я минута идёт но пока бла бла бла но спасибо за труд
Классное видео! Хотя размышления "кому это все нужно" излишне)
♪ Hit or miss ♪
♪ I guess they never miss, huh? ♪
работаю с JS(React) зашел сюда, что бы убедиться, что пишу на гавноязыке... лайк за старание
Ура, классный видос!
Да, память - это тема для изучения на следующие 100 лет)
в 2031 может и до "Как писать разделяемые библиотеки" доедем
Как же хорошо что моя специальность больше связана с дата сайнсом. Я думаю если сидеть разбираться с этим всем уйдет не один месяц
Офигенно. Репост есть!
Насчёт steam survey, в основном те кто зарегистрирован на стим у них будет стоять винда(игровой пк), так как стим это игровая платформа, и аж никак не поиграешь на маке или линуксе. Поэтому данные в глобальной интернете будут разняться.Ведь стим берет инфу у тех, кто уже зареган, а не у независомых пк юзеров.
13:00 еще не рассказал про Meltdown уязвимость в процессорах Intel
"Наверняка вы все слышали, что такое memory mappings" так же я, который впервые слышит данные слова xD
thank you for stream and this video :)
Помню, когда на неких курсах в учебном центре в 7 классе учился прогать на паскале. И тогда я был уверен, что при объявлении переменной под не выделяется место на жëстком диске.
Камбек? институт репутации как известно в России не работает
Полураспад клеветы быстрый
А что за история?
Как всегда спасибо! Очень хотелось бы видео о том, как работает рендер =)
Очень крутое видео для старта. Особая благодарность за книги и отсылки к другим роликам.
Очень хочется побольше таких видосов, в таком формате. Сразу вспоминается время, когда я только тебя нашел (и начинал программировать сам) и гуглил термины каждые 5 сек, что, наверное, и определило мой интерес к подомному лоу-лвлу и вдохновило на изучение основ.
С тех пор начитался Грегори и Танненбаума и этот видос прошел на одном дыхании. Пожалуйста, не останавливайся
Ты сейчас в какой сфере варишься?
Классное видео, спасибо!
Огнище 🔥
Хорошее содержание и форма подачи спасибо. А визуал ролика супер!
Спасибо за видео
Блики на челах просто топ 😁😁😁
14:00
Спасибо за видос!
В целом интересно, половину термино… нет, все термины пришлось гуглить, было прикольно
Я не инженер Нвидиа, но с уверенностью могу сказать, что микрофон на видео в некоторых вставках расположен не по центру.
Супер, спасибо
Спасибо
Он жив!!!
Мне нужно разобраться прочитать по кэшу
Спасибо за ролик! И за то что объяснил что путь в программирования нужно начинать с железа - понимания работы компьютера и т. п., проще говоря с цифровых технологий и радиоэлектроники. В основном все говорят наоборот.
Советую книги Столярова "Программирование - введение в профессию". Несмотря на название, узнаете много нового, уверен.
@@ФедорАлексеевичМалашин Спасибо!
Это видео больше просто "упоминание", чем какой-то поверхностный разбор из-за чего новички будут хвататься за волосы, а те кто уже в курсе, просто закрепят(вспомнят).
Увидел в этом ролике упоминание о cache и предвкушал, что будет показан какой-нибудь инструмент по отслеживанию cache hit / miss. Но увы... Долго ищу какое-нибудь решение, чтобы наглядно отслеживать такие данные, но пока так и не нашел. Находил упоминание под MIPS процессоры, что при спец. правах доступа можно включить встроенный профайлер (счетчик cache hit / miss) прямо из под процессора, но пока так и не нашел особой конкретики как это сделать.
По поводу 18:27 мб под x86 это так, но тестировал одно устройство на MIPS и порядок вертикаль > горизонталь давало меньше задержек.
Комплюхтер саенс это штука которая на самом деле нужна всем, но не все знают что она им нужна © Какой-то embedded software developer
Спасибо-спасибо
Не успел начать, а уже веселье: ты правда думаешь, что «всякие там read/write» - это из стандартной библиотеки? А надо бы задуматься, почему маны по, например, strlen или signal или malloc находятся в разделе 3, а read/write - в разделе 2. А потому, что read/write это не функции из стандартной библиотеки C, а системные вызовы - system calls, которые предоставляются ядром ОС.
…
ооо, хоть один человек здесь разбирается
Блеа, ну как ыт узнал, что я из нВидии и Интела?! Я теперь боюсь обернуться. Вдруг ты уже за спиной стоишь.....
время 3:30, а видос ещё не начался. у меня утечка времени
Отличный контент!
Отлично!
Хотелось бы полный разбор всех затронутых моментов, которые оказались не актуальными или устаревшими
Я просто поражаюсь гиперактивности Хотца. 26 лет человеку, а он уже создал прямого конкурента Теслы, взломал Android, взломал PS3, один из самых талантливых хакеров в мире. Больше всего удивляет то, что этот человек *ВООБЩЕ* не устаёт, и может быть одинаково продуктивен спустя 10 часов кодинга за компьютером. Вот бы мне так.
он разбавляет свои увлечения. тот же реп читает и музлом вроде занимается)
удивительно, но я целиком понимаю, казалось бы, хаотичный ход мыслей автора. И его опыт очень сильно похож на мой
Спасибо .
Вин, а сделаешь видео про многопоточность?
Попало в рекомендации, интересно было слушать, но почти ничего не понял и это угнетает
Так потому что он говорит с огромной скоростью, и хоть какая-то полезная информация есть только ближе к концу. А поскольку я уже знала, что кешируются рядом находящиеся адреса, я не получила ни капли полезной информации
я думаю я бы не запустил это видео если бы не nvidia на обложке
видео стиииль, давай стрим дядя
Найс контент чел.
Снимаю шляпу. Парадокс, но чем сложнее термины, тем интереснее в них разбираться и откапывать простые истины. Вселенская благодарность за материал, кто считает его бесполезным - сам себе злобный Буратин
видео в формате RUSSIA
Новичку будет конечно интересно, но от того что автор оперирует техническими терминами, видео не становится информативней - сплошная вода под "техническим соусом".
Всё что я понял, это то что мне ещё много и много чего нудно учить...
начало 3:41