Для начала оптимизации - они возможны только для одного типа итераторов, а именно contiguous. В остальных случаях стандарт говорит что нет НИКАКИХ гарантий того что данные лежат последовательно в памяти, что исключает любые возможные оптимизации. Потому делать цепочку вызовов кажется самым рациональным.
Во вторых, для введения оптимизаций требуется создать непонятные расширения которые бы позволяли обрабатывать диапазоны по группам, но для корректной работы эти группы должны поддерживать все адаптеры в цепочке, что технически возможно, но требует довольно мудрёных метавыражений, которые поймут 2.5 динозавра. А некоторые вещи, типа трансформов сделать не получится без мольбы богу-компилятору.
Выводы? Пользуйтесь тем что есть, а хотите нормально, пишите интристики.
Эхх помню... В мозге всё работает крайне тупо. Изначально есть только эмоции и сенсорные пути стимуляции. "Приятный запах", "не хочу есть" и прочие вещи связываются с объектами которые сильно коррелируют с моментами стимуляции. Ну мол "вкусно покушал->кушал сисю->сися мамы->мать истеричка->я тоже буду истеричкой". И есть отдельные зоны мозга которые учатся осознавать эти "сложные стимуляции". А когда появляется "сознание" то становится интереснее, ибо цель сознания управлять потоками информации пытаясь либо удовлетворить эмоции либо начинают работать сами на себя (паталогия).
(Вообще системы оценки эмоциональных реакция очень тупо работают, настолько тупо что появляются такие вещи как постравматический синдром, когда кусок мозга просто по бырику фильтрует информацию и ему пофиг стук ножа это или пулемёт, оно ввергнет тебя в депрессию)
В итоге твоё желание программировать это целая невероятная история как твоя эмоциональная система училась тому что писать буквы на мониторе это очень весело.
А самое что занимательное, на уровне архитектуры, нейроны учатся постоянно, а система подкрепления работает мега тупо - она просто заставляет нейроны чаще срабатывает и всё. Пускай огромные ветвистые выходы нейронов, из зоны размером в рисинку, которые просто повышают активность и ты получил обучение, жуть
Как раз наоборот. Циничный я стал после долгой работы над собой. В мире полно людей которые мало требуют для поддержания душевного спокойствия. Вкусно кушать, пить алкоголь, играть в игрушки - и таких человек 80 по заводу ходит. Вся эта заумная хрень появляется у людей у которых было много времени в какой-то из периодов своей жизни и опираться на их риторику бессмысленно.
Чисто технически, люди это крайне дешёвый рабочий ресурс для поддержания которого, технически, нужна только еда. Хоть это по времени довольно долго, но по экономической эффективности - бесконечный возобновляемый ресурс рабочей силы. А моральную сторону вопроса можно прогреть идеологически.
Делать машинные руки дорого, нужна добыча ресурсов, их переработка, фабрики создания, обслуживание, утилизация-переработка. Хоть машины и эффективны, но в условиях конечных ресурсов, выгоднее их потратить в более важные отрасли, чем плодить рабочих болванчиков.
Так что... Чтоб нас убить надо создать какую-то иррациональную модель ИИ, которая будет думать этими всеми шаблонами "человек убивает всех и себя в том числе"
Я в целом за то, что есть некоторый класс работ который требует некоторой специфический когнитивной нагрузки и при этом не являющаяся квалифицированной. Для выполнения такой работы потребуется сложные машины, для которых нужно будет нанимать персонал для его обслуживания а он будет стоить дороже чем "кучка аборигенов" которые сделают это за минимальную зарплату.
Придумаем мега утрированный пример. Мы можем поставить супер быстрый сортировщик товаров который требует штат людей которые его обслуживает. Но этот сортированный товар надо потом погрузить в машины, а это уже проблематично, ибо товары бывают разного размера и надо тогда делать упаковщик который догадается "как сложить доминошку" что сложно для машины. В итоге решение это нанять ещё больше персонала чтоб успевать обслуживать машину и в итоге вроде бы мы сделали это больше/дешевле но по деньгам как-то не сильно выиграли. На автоматизации заработали сортировки заработали +15%, хотя хочется же увидеть цифры в 10 раз больше(((
Их по сути одни и те-же люди разрабатывают. MIPS довольно занимательная архитектура, на ней есть контроллеры на 2 ядра и 1ГГц с энергопотреблением в <1Вт.
Разработчики MIPS прямо заявляли "мы бросаем развитие MIPS и переводим наших инженеров на RISCV". Если рассуждать почему так вышло - видимо они так и не смогли создать нормал ный рынок вокруг архитектуры которая ассоциироваться с "проигравший ARM-у" и они создали новое API. Суть кодировки команд даже похожая, просто биты находятся в более "оптимальном положении".
Именно ДЕЛАТЬ. Пока нету инструментов изучения новой физики и разработки новых теорий, а человеческие руки дешевле машинных, даже в потенциальном будущем. (Я имею ввиду универсальных машин, специализированные уже давно всех обогнали)
Так что в текущем укладке мира средний класс должны сожрать, а остальные никуда не денутся.
Если говорить за х86, то там есть группа команд которая идёт как бы... "сквозь кэш". Позволяя писать в память на полной скорости, обычные обращения кэшируются и мне народ пишет "видите, скорость записи вертексов в 2 раза медленнее чем чтение!!! Нас обмануют!!!"
На моих пет-проектах использую msvc, полёт нормальный.
Мой личный ноутбук довольно слабоват и меня дико удручало что мои проекты/мета-либы пересобираются по 5 минут, а я люблю часто делать мелкие правки и смотреть что получилось. Начал пилить абсолютно всё на модули, в самом простом их исполнении без приватных секций и прочего. Итого - время сборки с 0 практически не поменялось, а вот пересборка уже занимает не 5 минут а секунд ~15.
Счастье моё длилось не долго, ибо когда начал переносить всё на основную работу оказалось что там повсюду старые компиляторы и всё ломается если хоть что-то поменять.
Я говорю о времени передачи кадра. Если у меня поток в 400Мбит и сеть в 400Мбит, мы получаем что время на передачу одного кадра при 120Гц у нас около 15-20мс, увеличив пропускную способность сети раза в два мы получаем что время на передачу одного кадра становится 10-15мс.
Не двукратный прирост, но что-то. Я занимаюсь этим всем из спортивного интереса, сейчас у меня общее время на траскод около 20мс при хорошем качестве. Лучше только провод)
Там прикол что 5/2.4 по разному отражаются и через объекты проходят. Там надо долго калдовать над расположением роутера, позиции антенн и мощности сигнала, чтоб всё красиво работало. Всё индивидуально
Причём мощность из этого самое не очевидное, мол на высокой мощности искажения от переотражённых сигналов выше, и в итоге получаем битрейт ниже чем на средней мощности, НО НЕ ВСЕГДА. Калдунство
Если у меня поток в 400Мбит, то при 400Мбит сети это 1с, а при 800Мбит это 0.5с.
В целом там ещё куча тонкостей из-за чего чисто кратных отношений получить не удаётся, но разница всё же есть. И да, если ставить 30Мбит, то там настолько смешные задержки на передачу что уже не важно какая там у вас сетка стоит
Это так называемая "проф-диффформация". У линуха проблема лишь в том что его надо руками доводить, и если у тебя что-то в системе меняется оно может нафиг всё уничтожить. Однажды нормально настроенная система, без сбойных драйверов/железа и без обновлений работает стабильно годами.
В винде с этим по проще просто, у тебя всё само настраивается, тебе даже думать особо не надо. И политика софта "всё своё ношу с собой" избавляет от 99% проблем которые обычно встречаются в мире линуха
Заставить корректно определять разрешения и режимы широкоформатных мониторов с высокой героцовкой. А то ставишь себе дистр интересный, а он тебе такой - "что? 165? 200? Я умею +100, а остальное это ты там сам в консоли выбери".
Лично я организовал себе локалку в 5Гбит ради стриминга картинки с ПК на автономные VR очки. Чем быстрее картинка передаётся, тем меньше тайминги, всё просто.
И да, эти задержки заметны. Когда ты дёргаешь рукой и она запаздывает ощущается сильнее чем когда дёргаешь мышкой в шутере.
Руководствуются часто тем что нет времени на подумать или пиар-манагер душит и ждёт ответа в следующую секунду. Так даже самые умные люди способны делать необдуманные поступки
Слушок был от друзья-друзей - там в каком-то регионе накрыли группу которая просто оформляла возвраты на новые товары, а-ля "брак", а потом ждали на свалке нужную фуру и делили награбленное.
Но был ли то озон или другой маркетплейс история умалчивает.
Есть несколько знакомых которым буквально впарили IT курсы. Кто-то смирился с утратой денег, но один персонаж... Когда до него дошло что его надурили пошёл к друзьям-друзей подал на них иски во все инстанции которые знал, а потом спустя время, безрезультатного ожидания, ему пришла гениальная идея в голову... Он взял ChatGPT и попросил его обыгрывать злого юриста который вот-вот засудит контору и просто дублировал диалог. Те настолько с него офигели что вернули деньги буквально через час.
Парнишка тот обычный трудяга с завода который в рыбалку играет и бухает по выходным, но чуть-чуть за эти ваши интернеты разбирается. (Нагрели его на 300К с кредитом под проценты интересные)
Скажем так, написать на С++ правильно требует больших компетенций от программиста чем на С. В С есть некоторые оптимизации которые проводятся неявно, чего только const стоит, который регулярно как constexpr оптимизируется. Из-за этого строится и проблема, что написанный в лоб алгоритм может работать быстрее на С, но если переписать С++ правильно, то его реализации могут сильно обогнать тот же С по эффективности.
Мой тейк только в этом.
ЗЫ и в целом это и есть проблема С++, чтобы писать на нём хорошо нужно знать ну ОЧЕНЬ МНОГО вещей, и дело не в библиотеках а именно в кор фичах языка
Это фундаментальная проблема диапазонов в целом.
Для начала оптимизации - они возможны только для одного типа итераторов, а именно contiguous. В остальных случаях стандарт говорит что нет НИКАКИХ гарантий того что данные лежат последовательно в памяти, что исключает любые возможные оптимизации. Потому делать цепочку вызовов кажется самым рациональным.
Во вторых, для введения оптимизаций требуется создать непонятные расширения которые бы позволяли обрабатывать диапазоны по группам, но для корректной работы эти группы должны поддерживать все адаптеры в цепочке, что технически возможно, но требует довольно мудрёных метавыражений, которые поймут 2.5 динозавра. А некоторые вещи, типа трансформов сделать не получится без мольбы богу-компилятору.
Выводы? Пользуйтесь тем что есть, а хотите нормально, пишите интристики.
Эхх помню... В мозге всё работает крайне тупо. Изначально есть только эмоции и сенсорные пути стимуляции. "Приятный запах", "не хочу есть" и прочие вещи связываются с объектами которые сильно коррелируют с моментами стимуляции. Ну мол "вкусно покушал->кушал сисю->сися мамы->мать истеричка->я тоже буду истеричкой". И есть отдельные зоны мозга которые учатся осознавать эти "сложные стимуляции". А когда появляется "сознание" то становится интереснее, ибо цель сознания управлять потоками информации пытаясь либо удовлетворить эмоции либо начинают работать сами на себя (паталогия).
(Вообще системы оценки эмоциональных реакция очень тупо работают, настолько тупо что появляются такие вещи как постравматический синдром, когда кусок мозга просто по бырику фильтрует информацию и ему пофиг стук ножа это или пулемёт, оно ввергнет тебя в депрессию)
В итоге твоё желание программировать это целая невероятная история как твоя эмоциональная система училась тому что писать буквы на мониторе это очень весело.
А самое что занимательное, на уровне архитектуры, нейроны учатся постоянно, а система подкрепления работает мега тупо - она просто заставляет нейроны чаще срабатывает и всё. Пускай огромные ветвистые выходы нейронов, из зоны размером в рисинку, которые просто повышают активность и ты получил обучение, жуть
Как раз наоборот. Циничный я стал после долгой работы над собой. В мире полно людей которые мало требуют для поддержания душевного спокойствия. Вкусно кушать, пить алкоголь, играть в игрушки - и таких человек 80 по заводу ходит. Вся эта заумная хрень появляется у людей у которых было много времени в какой-то из периодов своей жизни и опираться на их риторику бессмысленно.
Чисто технически, люди это крайне дешёвый рабочий ресурс для поддержания которого, технически, нужна только еда. Хоть это по времени довольно долго, но по экономической эффективности - бесконечный возобновляемый ресурс рабочей силы. А моральную сторону вопроса можно прогреть идеологически.
Делать машинные руки дорого, нужна добыча ресурсов, их переработка, фабрики создания, обслуживание, утилизация-переработка. Хоть машины и эффективны, но в условиях конечных ресурсов, выгоднее их потратить в более важные отрасли, чем плодить рабочих болванчиков.
Так что... Чтоб нас убить надо создать какую-то иррациональную модель ИИ, которая будет думать этими всеми шаблонами "человек убивает всех и себя в том числе"
Как бы... согласен.
Я в целом за то, что есть некоторый класс работ который требует некоторой специфический когнитивной нагрузки и при этом не являющаяся квалифицированной. Для выполнения такой работы потребуется сложные машины, для которых нужно будет нанимать персонал для его обслуживания а он будет стоить дороже чем "кучка аборигенов" которые сделают это за минимальную зарплату.
Придумаем мега утрированный пример. Мы можем поставить супер быстрый сортировщик товаров который требует штат людей которые его обслуживает. Но этот сортированный товар надо потом погрузить в машины, а это уже проблематично, ибо товары бывают разного размера и надо тогда делать упаковщик который догадается "как сложить доминошку" что сложно для машины. В итоге решение это нанять ещё больше персонала чтоб успевать обслуживать машину и в итоге вроде бы мы сделали это больше/дешевле но по деньгам как-то не сильно выиграли. На автоматизации заработали сортировки заработали +15%, хотя хочется же увидеть цифры в 10 раз больше(((
Их по сути одни и те-же люди разрабатывают. MIPS довольно занимательная архитектура, на ней есть контроллеры на 2 ядра и 1ГГц с энергопотреблением в <1Вт.
Разработчики MIPS прямо заявляли "мы бросаем развитие MIPS и переводим наших инженеров на RISCV". Если рассуждать почему так вышло - видимо они так и не смогли создать нормал ный рынок вокруг архитектуры которая ассоциироваться с "проигравший ARM-у" и они создали новое API. Суть кодировки команд даже похожая, просто биты находятся в более "оптимальном положении".
ЗЫ: Был в теме давно, мог что-то не так запомнить
Именно ДЕЛАТЬ. Пока нету инструментов изучения новой физики и разработки новых теорий, а человеческие руки дешевле машинных, даже в потенциальном будущем. (Я имею ввиду универсальных машин, специализированные уже давно всех обогнали)
Так что в текущем укладке мира средний класс должны сожрать, а остальные никуда не денутся.
ЗЫ
Если говорить за х86, то там есть группа команд которая идёт как бы... "сквозь кэш". Позволяя писать в память на полной скорости, обычные обращения кэшируются и мне народ пишет "видите, скорость записи вертексов в 2 раза медленнее чем чтение!!! Нас обмануют!!!"
На моих пет-проектах использую msvc, полёт нормальный.
Мой личный ноутбук довольно слабоват и меня дико удручало что мои проекты/мета-либы пересобираются по 5 минут, а я люблю часто делать мелкие правки и смотреть что получилось. Начал пилить абсолютно всё на модули, в самом простом их исполнении без приватных секций и прочего. Итого - время сборки с 0 практически не поменялось, а вот пересборка уже занимает не 5 минут а секунд ~15.
Счастье моё длилось не долго, ибо когда начал переносить всё на основную работу оказалось что там повсюду старые компиляторы и всё ломается если хоть что-то поменять.
Я говорю о времени передачи кадра. Если у меня поток в 400Мбит и сеть в 400Мбит, мы получаем что время на передачу одного кадра при 120Гц у нас около 15-20мс, увеличив пропускную способность сети раза в два мы получаем что время на передачу одного кадра становится 10-15мс.
Не двукратный прирост, но что-то. Я занимаюсь этим всем из спортивного интереса, сейчас у меня общее время на траскод около 20мс при хорошем качестве. Лучше только провод)
Там прикол что 5/2.4 по разному отражаются и через объекты проходят. Там надо долго калдовать над расположением роутера, позиции антенн и мощности сигнала, чтоб всё красиво работало. Всё индивидуально
Причём мощность из этого самое не очевидное, мол на высокой мощности искажения от переотражённых сигналов выше, и в итоге получаем битрейт ниже чем на средней мощности, НО НЕ ВСЕГДА. Калдунство
Если у меня поток в 400Мбит, то при 400Мбит сети это 1с, а при 800Мбит это 0.5с.
В целом там ещё куча тонкостей из-за чего чисто кратных отношений получить не удаётся, но разница всё же есть. И да, если ставить 30Мбит, то там настолько смешные задержки на передачу что уже не важно какая там у вас сетка стоит
Это так называемая "проф-диффформация". У линуха проблема лишь в том что его надо руками доводить, и если у тебя что-то в системе меняется оно может нафиг всё уничтожить. Однажды нормально настроенная система, без сбойных драйверов/железа и без обновлений работает стабильно годами.
В винде с этим по проще просто, у тебя всё само настраивается, тебе даже думать особо не надо. И политика софта "всё своё ношу с собой" избавляет от 99% проблем которые обычно встречаются в мире линуха
Заставить корректно определять разрешения и режимы широкоформатных мониторов с высокой героцовкой. А то ставишь себе дистр интересный, а он тебе такой - "что? 165? 200? Я умею +100, а остальное это ты там сам в консоли выбери".
Буквально пару дней назад этим занимался
Лично я организовал себе локалку в 5Гбит ради стриминга картинки с ПК на автономные VR очки. Чем быстрее картинка передаётся, тем меньше тайминги, всё просто.
И да, эти задержки заметны. Когда ты дёргаешь рукой и она запаздывает ощущается сильнее чем когда дёргаешь мышкой в шутере.
Там террористы все, вы не понимаете! Арабы особенно, это же там все эти вот... Ну религия алах-бабах же, ну?
Руководствуются часто тем что нет времени на подумать или пиар-манагер душит и ждёт ответа в следующую секунду. Так даже самые умные люди способны делать необдуманные поступки
Слушок был от друзья-друзей - там в каком-то регионе накрыли группу которая просто оформляла возвраты на новые товары, а-ля "брак", а потом ждали на свалке нужную фуру и делили награбленное.
Но был ли то озон или другой маркетплейс история умалчивает.
У меня есть кулстори на эту тему.
Есть несколько знакомых которым буквально впарили IT курсы. Кто-то смирился с утратой денег, но один персонаж... Когда до него дошло что его надурили пошёл к друзьям-друзей подал на них иски во все инстанции которые знал, а потом спустя время, безрезультатного ожидания, ему пришла гениальная идея в голову... Он взял ChatGPT и попросил его обыгрывать злого юриста который вот-вот засудит контору и просто дублировал диалог. Те настолько с него офигели что вернули деньги буквально через час.
Парнишка тот обычный трудяга с завода который в рыбалку играет и бухает по выходным, но чуть-чуть за эти ваши интернеты разбирается. (Нагрели его на 300К с кредитом под проценты интересные)
Скажем так, написать на С++ правильно требует больших компетенций от программиста чем на С. В С есть некоторые оптимизации которые проводятся неявно, чего только const стоит, который регулярно как constexpr оптимизируется. Из-за этого строится и проблема, что написанный в лоб алгоритм может работать быстрее на С, но если переписать С++ правильно, то его реализации могут сильно обогнать тот же С по эффективности.
Мой тейк только в этом.
ЗЫ и в целом это и есть проблема С++, чтобы писать на нём хорошо нужно знать ну ОЧЕНЬ МНОГО вещей, и дело не в библиотеках а именно в кор фичах языка