1. Куча / Говнокод #26351

    +7

    1. 1
    https://tsar1997.blogspot.com/ блог царя

    > Я продолжил умножать на ноль недоязычки. Сектанты там атакуют со всех сторон. Сидел в окопе всё это время.

    лол

    Запостил: j123123, 14 Января 2020

    Комментарии (340) RSS

    • Не позволяйте сектантам, отрицательным программистам овладевать вас, не становитесь их марионетками!
      Ответить
    • Офигеть, у него уже блог есть?
      Ответить
      • У него не только блог, но и свой двор, опричиники и бояре.

        Боярин
        Царь как обычно, пришел, увидел, умножил лалок на ноль. Смеёмся всем двором с потуг обиженных.
        Ответить
    • Хотел позвать «Царя» на «Говнокод», но там ононимно нельзя писать.
      Ответить
    • https://tsar1997.blogspot.com/2019/10/blog-post.html?showComment=1575540999780#c6844656583641752836

      Google Support 5 декабря 2019 г., 02:16

      Здравствуйте!
      На ваш блог поступила жалоба на оскорбления и унижение достоинства группы лиц по признаку "программирование на языке Rust". Предупреждаем вас о недопустимости подобных действий. В случае продолжения подобных оскорблений будет решаться вопрос о блокировке.

      С уважением,
      Google
      Ответить
      • Царя забанят в гугле?
        Ответить
      • Фейк же очевидный.
        Ответить
        • Мне больше интересно, как эта файка сделала у себя на юзернейме ссылку на «support.google.com».
          Ответить
          • Когда оставляешь коммент можно подписаться любым именем и указать сайт. Видимо это никак не контролируется.
            Ответить
            • Эм, т.е. там таки можно анонимно постить?
              Ответить
              • Но нужно логинится через гмыло.
                Ответить
                • Нет, не нужно, при ответе выбираешь один из 3-х стулов:
                  - подписываешься гугловским акком;
                  - имя/урл;
                  - ононимно.

                  Проходишь рекаптчу и всё.
                  Ответить
                  • Да? Тогда щас чёнить царю поднасрём...
                    Ответить
                    • Написал комментарий - он пропал при отправке. Ну его нахуй.
                      Ответить
                      • А у меня отправляется, но рекапча заёбывает. К тому же появляется в крошечном окошке, которое приходится скроллить, чтобы отметить все картинки. Какой пидарас придумал эти окошки? Почему нельзя показать в полный размер? Зачем? Зачем?
                        Ответить
                        • Да, вёрсточку неистово пидорасит, когда появляется капча.
                          Ответить
                          • Царь - неосилятор анскильный.
                            Ответить
                            • Царь считает, что гипертекстовый веб придумали анскильные питухи, а гипербинарный ему создавать некогда, потому что он занят оптимизацией программы wc.
                              Ответить
                  • В комментарии ещё можно использовать HTML-теги <i><b><u><s>. Всё остальное он фильтрует.
                    Ответить
          • Реальный пример:
            https://tsar1997.blogspot.com/2019/10/blog-post.html?showComment=1579019798991#c8506878877738024878
            Ответить
      • Блядь, то есть признак "программирование на языке Rust" где-то в одном ряду с признаком "трансгендерная трёхрукая афроамериканка-феминистка"? Небось ещё и множества пересекаются
        Ответить
        • Меня всегда забавлял вот этот расизм русни, у которых у самих жизненные стандарты где-то на уровне неблагополучных негров да еще и холодно.
          Ответить
        • >афроамериканка
          Нету такого слова в русском языке! Есть негры!
          Ответить
      • Здравствуйте!
        На ваш код поступила жалоба на унижение и оскорбления чувства прекрасного группы лиц по признаку "программирование".
        
        Предупреждаем вас о недопустимости подобных действий. 
        
        В случае продолжения подобных оскорблений будет решаться вопрос о питушне.
        
        С уважением,
        Говнокод
        Ответить
    • Анскильный царь теперь на кресты перешёл?
      Ответить
    • https://tsar1997.blogspot.com/2019/10/blog-post.html?showComment=1570003662693#c4583721728969530815


      Там ещё «NigthmareZ» отметился...
      Ответить
    • «Царя» пытаются деанонимизировать:

      http://ikit.sfu-kras.ru/e/166
      https://i.imgur.com/D9nNer9.jpg

      К. т. н., доцент.
      Ответить
      • То есть 1997 - это не год рождения?
        Ответить
        • Та фейк очевидный же. Там по базару видно что 97 год подходит.
          Ответить
        • Возможно, доцент-крестоблядь — это не «superhackkiller1997», а кто-то, пытающийся пиариться на его имени. Пока информации мало.

          Кстати, доцент-крестоблядь пытается за 14500 рублей (Сёма, это больше 200 евро) впарить курс написания статей для «Scopus»:
          https://rtsarev.ru/
          https://www.instagram.com/tsarev.sfu/
          Ответить
    • Как Царь wc писал.
      https://tsar1997.blogspot.com/2019/10/blog-post_18.html
      Ответить
      • 1. Разрабатывает программу для подсчёта слов в тексте.
        2. Пишет, что текстовые форматы не нужны.
        Ответить
        • 3. Программа работает только на определённых размерах файлов.

          В лучших царских традициях: Bus error (core dumped)
          Ответить
          • И тут же отмазка: мол, мне выходить за эти ограничения не приходилось, на моём тестовом примере всё работает.
            Ответить
            • Ну вряд ли кому-то надо считать пробелы в петабайтных файлах...
              Ответить
              • Там же STDIN, не факт, что он из файла.
                Ответить
                • Это же уникс-говно, там всё файл.
                  Ответить
                  • Ну stdin хоть и файл, но замапать его нельзя.
                    Ответить
                    • Но царь же замапал.
                      Ответить
                      • file_size(STDIN_FILENO) == 0
                        mmap(... STDIN_FILENO ...) == -1
                        Получаем не рабочий цикл в конце и нули не зависимо, что там пришло на вход.
                        Какая оптимизация)))
                        Ответить
          • > на определенных размерах файла

            Кратных размеру кешлайна, причём слова не должны пересекать границу кешлайна?
            Ответить
            • Сколько рабочих мест можно будет создать! Срочно потребуются копирайтеры, которые будут переписывать тексты так, чтобы слова не пересекали границы кешлайна.
              Ответить
            • Идея: создать текстовый редактор, который будет подсвечивать границы кешлайна, чтобы сразу можно было набирать тексты, оптимизированные под царский wc.
              Ответить
        • Мне ещё понравилось вот это:
          const uint8_t is_space[256] = {[' '] = 1, ['\n'] = 1, ['\t'] = 1, ['\v'] = 1, ['\r'] = 1, ['\f'] = 1};

          Именно то, о чём я совсем недавно разваливал анскилозным питушкам.
          Отребье из лалок не могло вкурить, что любая структура и мапа в два счёта оформляется массивом.
          Ответить
          • Всё верно. А зачем здесь мапа?
            Ответить
          • Надо его попросить сделать юникодную версию.
            Ответить
            • Уникод юзают заедушные лалки, которые всегда сливают в пирфомансе.
              Сишкобоярину хватает 8-разрядной кодировки.
              Ответить
            • Символов в юникоде всего миллион, да и пробельных из них совсем мало. Причём они стоят плотными группами и не займут много кеша.
              Ответить
            • Для утф-8 придётся делать массив массивов массивов массивов.
              Ответить
          • В крестах локали (а точнее ctype<char>) так и работают. Там внутре массив с битмаской, классифицирующей символы.
            Ответить
        • 3. Пишет текст в текстовом формате.
          Ответить
      • Хуйня какая-то для подсчета пробельных характеров.
        Ответить
    • https://tsar1997.blogspot.com/2019/11/blog-post_16.html?showComment=1574007899663#c 2064277916857045497
      >Далее, не существует ни одного языка с лямбдами, которые появились там раньше С++. Т.е. по-сути в С++ лямбды были всегда. Просто С++ формально старше лямбд и всегда они быть не могли.
      Чего блять
      Ответить
      • На нашем сайте вы узнаете о лямбдах в c++. По сути, в с++ лямбды были всегда. Просто формально с++ старше лямбд и всегда они быть не могли. Но сейчас лямбды в с++ есть и стандартизированы, поэтому мы вам о них расскажем. Лямбды - это очень важная часть языка с++. Каждый программист на с++ так или иначе сталкивается с лямбдами. Но что такое лямбды и зачем они в с++? Об этом вы узнаете из нашего рассказа.
        Ответить
        • На нашем сайте вы много узнаете о лямбдах в c++. По сути, в с++ лямбды малость были всегда. Просто формально с++ малость старше лямбд и всегда они быть не могли. Но сейчас много лямбды в с++ есть и стандартизированы, поэтому мы вам о них много расскажем. Лямбды - это малость важная часть языка с++. Много программистов на с++ так или иначе малость сталкиваются с лямбдами. Зачем они в с++? Зачем? Об этом вы малость узнаете из нашего рассказа.
          Ответить
          • Лямблиозники оценят.
            Ответить
          • Сначала программисту рассказывают, что такое лямбды. Говорят, что это страшно. Говорят, что код не скомпилируется, если перепутать типы скобочек. Этот страх усиливается тем, что подсознание программиста не понимает, как это работает.
            Ответить
            • Сначала программисту рассказывают, что такое лямбды. Говорят, что это страшно. // В том, что они опасны, нет никакого сомнения, но в то же время именно они дают возможность каждому ученику подняться по лестнице совершенства и стать Королем Лоб
              Король Лаб!
              Ответить
            • Затем говорят, что никаких лямбд не существует. Говорят, что он их не существует в крестах.

              Затем заставляют представить набор похожих сущностей.

              Затем говорят, что та сущность, что называется лямбдой в крестах была всегда.
              Ответить
              • Констанеда какая-то
                Ответить
                • Эта методика вызывает падение интеллекта, и поэтому программирующий пугает тем, что жертва станет полным идиотом, если станет вспоминать программирование.

                  Смысл - нарушить объективную четкую логику.
                  Ответить
          • Затем программиста заставляют представить себя лямбдой. Говорят, что он не лямбда а временный объект анонимного класса. Говорят, что он будет уничтожен сразу после выхода за область видимости.
            Ответить
            • Родился на улице Лямбды, в крестошаблоне номер двадцать два. Известный анскиллябра, по призванию своему — царь. В народе — инканус. В магазине — стандарт. В говнокоде, так сказать, необходим. Это, так сказать, анролл… э-э-э… в составе ста двадцати единиц. Фотографируете Гермашкинский полуостров и получаете «Стер-тор-пи-дор». И петух работает по другой помойке — по помойке петуха. Потому что не сишка будет, питония будет! Ну вот можно сфотографировать Гермашкинский полуостров.
              Ответить
        • Затем представившего себя лямбдой программиста помещают в std::any. Говорят, что это страшно. Говорят, что теперь его никто не сможет оттуда достать т.к. его тип неизвестен.
          Ответить
          • Далее программирующий говорит представить себя памятью, утекшей по вине delete void *.

            Говорит, что лучше этого не бывает, что это величайшее наслаждение - быть таким.

            Затем говорят, что приближается то, что жертву поместят в список захвата.

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

            Также используется углубленный вариант смешивания.

            В таком случае говорят представить safe/unsafe коды и смешать их.

            Заставляют представить, что вместо программистов, например, бояре и опричники.

            Затем заставляют представить, что такими являются все, все человечество.

            - А вот есть тот, у кого нет в сишке крест накрест вместо лямбд. У него, в отличие от человека есть лямбды. Как называется это существо? Как называется?

            - Царь.

            - Правильно, Царь. ... ... ... Вот приближается Царь. Приближается! Страшно!!! ( Программирующий делает гримасу страха и соответствующие жесты ) Страшно!!! Чтобы перестал приближаться, надо учить си!!!
            Ответить
          • >std::any

            С++-сектант это в 95% мразь, а в 5% просто обманутый/неразобравшийся человек. Почему же?

            Что такое std::any? Это ворованный сишный, void*, где есть семантика копирования.

            А сам std::any или shared_ptr<void> выглядит как говно. Они зассали пастать нормальный синтаксис из С, а сделали ::.

            Что такое эти двоеточия? Это неймспейс.

            Что такое :: - неведомое говно. Обезьяна просто насрала рандомными символами. Хотя до сих пор не выяснено откуда именно было паста.

            Концепция std::any явно ворована из С (потому как там всё воровано из С).
            Ответить
          • Object из жавы — тоже ворованный сишный, void*, без возможности прямой записи в память.

            Бездарное говно украло у Вирта сборщик мусора, а весь синтаксис явы явно сворован из С.

            Путём воровства это бездарное говно обманывает рядовую публику.

            Write once — debug everywhere: типичные тезисы пропаганды.

            Жава-байткод не является состоятельным - это высокоуровневое и завязанное на жаву говно.

            Сектанты будут врать что жава переносима. Но без тяжёлого и глючного рантайма на сотни мегабайт, это говно даже не сможет стартовать.

            Потому я всегда могу написать то, что жавашлюха, никогда не написала и не напишет.
            Ответить
          • гавношка.
            Ответить
    • Очередная цитата Царя
      https://www.linux.org.ru/forum/development/15747207?cid=15749249
      >> Вместо одной строки на Javascript,
      > Кресты самый выразительный язык в этом вселенной. Чини методичку.

      Кстати интересно, а что более убогое? Помойный жопаскрипт или ублюдские кресты? Я даже не знаю, что выбрать.
      Ответить
      • Нейтральный элемент ( init ) не мувается в функтор ( op )
        x связывается по forwarding reference но при этом не форвардится в функтор
        бессмысленные forwarding reference для op и v
        нейтральный элемент всегда передается по значению в accumulate, ссылку никак не передать

        Ебать там макаки анскильные на Царя тявкают. Даже не понимают разницы между универсальными и rvalue ссылками — а уже пытаются что-то прокукарекать. Ещё и в функтор перемещать что-то предлагают, лол.
        Ответить
        • Функтор-хуюнктор, forwarding reference, блядь, как всё сложно. Я просто ебашу циклы и не ебу себе мозг этим говном.
          Ответить
          • Все так делают. Это на людях выебываются знанием всяких функторов.
            Ответить
            • на собеседовании: поговорим про монады
              на работе: цена на сайте выводится жирным, можешь поправить?
              Ответить
              • Не моя область компетенции, обратитесь к frontend-разработчикам.
                Ответить
                • ой, да ладно: "<b>" же небось в базе хранится. В лучших традициях
                  Ответить
                  • Вот пусть frontend-разработчики и вырезают <b> регулярками.
                    Ответить
                    • Фронтенд-разработчик: "Зачем вырезать то? Пусть дизайнер стиль навесит на <b>".
                      Ответить
                      • Ахахахаха )))))))
                        Ответить
                      • это задача бекенд разработчика:
                        preg_replace("#</?b>#", "", $verstka)
                        Ответить
                        • А вдруг там тега <b> нет? Вдруг там <span class="bold-as-your-mom"> ?
                          Ответить
                      • Дизайнер: цена жирным, это такое дизайнерское решение.
                        Ответить
          • >Я просто ебашу циклы и не ебу себе мозг этим говном.
            Дико плюсую.
            Ответить
        • std::vector <std::vector <int>> canvas(h, std::vector <int> (w, 1));

          >h и w - это собственно размеры
          Стиль говна-питуха.

          Есть няшный int[][], но обязательно нужно нагородить крестохуйни.
          Ответить
          • а веткор можно увыеличить в рантайме?
            Ответить
            • Так а смысл вектора городить, если явно как в сишке передаются w и h?
              Ответить
              • ну если мы не собираемся менять размер, то да.
                Это такое макакианство видимо: привыкли к вектору, и хуячат.
                Ответить
                • Меня Царь поразил.
                  Сначала высрал какую-то функцианальную питушню.
                  А потом и вовсе повёл себя не по-царски.

                  >Какая разница сколько оно жрёт памяти?

                  Старый-добрый Царь хуйнул бы в Сишке одномерный массив и обошёл бы его одним for ()
                  Ответить
            • Увеличение вектора в рантайме с гарантией без регистрации и SMS.
              Ответить
              • Там же из контекста понятно что это какой-то canvas для отрисовки с фиксированной высотой/шириной.
                Ответить
            • Можно, но вектор-из-векторов не очень выгодно ресайзить.
              Ответить
              • Именно поэтому единственная вменяемая структура данных — одномерный массив.
                Ответить
                • Именно поэтому я за бейсик.
                  Ответить
                • >Именно поэтому единственная вменяемая структура данных — одномерный массив.

                  Так из задачи понятно что канвас — прямоугольная область экрана.
                  А вектор векторов jagged питушня, которая к тому же разбросана по памяти.
                  А если нам нужна фиксированная прямоугольная область что лучше цельного одномерного блока памяти, интерпретируемого как джвумерный?
                  Ответить
              • Может быть выгодно, если нужно ресайзить только один вмиктор, правда еси использовать такого виктора викторова как матрицу, можно будет когда-нибуль обосраться с индексами.
                Ответить
      • Возьми транспилятор с крестов в жс. Замиксируй сорта говна.
        Ответить
        • Можно еще на констэкспрах написать интерпретатор JS, как вариант.
          Ответить
      • студентов любят спросить "как правильно обходить двумерные массивы", лол
        Ответить
        • Змейкой как в чпеге.
          Ответить
          • вообще есть более генерализированное правило: по памяти лучше всего ходить последовательно, без прыжков туда-сюда, бо кеш
            Ответить
            • Оно скучное.
              Ответить
              • Вообще я за классический PC: там такого правила не было.
                Кеша не было, префетчера не было, память тоже не умела все эти edo,bedo и пр. Настоящий Random Access.
                Ответить
                • А я за FPGA, где ответ от встроенной оперативки можно юзать уже прямо на следующем такте. Причём можно делать 2 чтения с произвольных адресов параллельно.

                  Но в целом ты можешь пойти писать под контроллеры. Кешей там нету, труъ рандом акцесс. Правда на код бывает префетчинг, но его можно не включать.
                  Ответить
                  • Как делать чтения из произвольных адерсов, если они окажутся в разных страница DRAM?

                    Если отрубить кеш кода, то царрский анрол станет не нужен, эх
                    Ответить
                    • > DRAM

                      Там весьма шустрая двухпортовая SRAM. Можешь из неё свой кеш собрать для внешней DRAM :)
                      Ответить
                      • лол) кеша нет, но память на защелках, как кеш?
                        А у него правда совсем-совсем рендом аксесс, можно как угодно массив обходить?
                        Ответить
                        • Да, настоящая память на защёлках. Поэтому её очень мало. Зато полный рендом акцесс и джва порта которые могут работать с ней на разных частотах.

                          А ещё там можно настраивать ширину слова от 1 до 36(!) бит. Если тебе вдруг захочется 9-битных массивов.
                          Ответить
                      • > DRAM

                        Там весьма шуструктура в рантальным они в с++ так и работают. Там по базару видный. Много производить за это прекратило полный редакторый будет, питония будет!
                        Ответить
                • К слову, ты и на x86-64 можешь кеш отрубить и юзать настоящий random access.
                  Ответить
                  • да я понимаю, MMIO же так работает (MTRR вот это всё) но память уже очень давно не однородна. SDRAM жирная буква тут лукава
                    Ответить
                    • Ну я думаю можно зафорсить чтобы контроллер памяти закрывал строку после обращения. Тогда всё будет медленно и ровно.

                      Другое дело, что он не особо то и документирован.
                      Ответить
                      • а так же отключить многоканальность, иначе получится, что читать со второго канала можно пока первый рефрешится.

                        Если такие API и есть, то про них может знать разве что прошивка материнки. С другой стороны, авторы прошивок же взяли эту инфу у интела, и если это не NDA, то можно нарыть
                        Ответить
                        • Да вот походу у интела это всё под NDA, иначе core boot уже под всё подряд бы портанули. А вот AMD вроде даже что-то публиковало.
                          Ответить
                          • а нельзя реверснуть прошивки?

                            Вроде как первый клон PC и начался с того, что чуваки реверснули биос (единственную непубличную часть писи)
                            Ответить
                            • Можно конечно, вроде так и выдрали цепочки для инициализации некоторых чипсетов. Но там пиздец работы. Это не сраные 60кб биоса старых PC'шек :)
                              Ответить
        • В многозадачной среде это вообще имеет значение? Там же пока ты читаешь один элемент массива, другие задачи лезут в другие регионы памяти.
          Ответить
          • ну если ты вдруг не делаешь sleep(1000) между обращениями к памяти, то кажется, что имеет.

            Кстати, проверь. Обойди массив 1M*1M пердольно и поперечно и замерь скорость
            Ответить
            • > массив 1М*1М

              Ну нихуя себе. Я, конечно, могу попробовать. Но это придётся весь диск под своп отдать. И то не факт что влезет.
              Ответить
              • имелось ввиду 1M*1K конечно. Я хотел гигобайт
                Ответить
                • Тоже не очень, 1К кешлайнов может в кеш влезть и разницы не будет. Разве что префетчер может тупануть.

                  Надо что-нибудь поквадратнее в духе 32768 x 32768.
                  Ответить
                  • Если ты проходишь его вертикально, то ты скачешь по памяти шагом размером в метр.

                    или ты о том, что на каждом шаге ты сразу засосешь килобайт, и будет уже не так интересно?


                    да, лучше тогда квадратное, чтобы он на каждом шаге обламывался
                    Ответить
                    • Ну да, на первой колонке я затяну в кеш где-то в районе 64 колонок. И если они войдут, следующие 63 колонки уже пойдут как cache hit. Т.е. если префетчер не тупанёт и осилит метровый шаг, то разницы с горизонтальным обходом вообще не будет.
                      Ответить
                      • дохуя умный префетчер.

                        а если я буду каждый раз менять шаг, то я его наебу?
                        Ответить
                    • Обшёл массив 32к на 32к. Пердольно 0.3с, попячно 7.5с. Разница в 25 раз.
                      Обшёл масив 1м * 1к. Пердолно 0.3с, попячно 0.5с. Разниц меньше 2 раз.
                      Обшл масив 1к * 1м. Пердольно 0.3с, попячно 5с. Разнца в 16 рз.
                      Ответить
                      • годно.
                        Ответить
                      • то-есть 32К и в кеш не влез целиком (потому не сработал полный префетч как во втором случае) и повторился этот багор 32К раз (а не 1К, как в третьем)
                        да?
                        Ответить
          • Имеет. У ядра есть свой кеш. Чем чаще ты в него попадаешь, тем реже ты лезешь к следующим уровням и тем меньше тебя аффектят другие задачи.
            Ответить
      • >Очередная цитата Царя
        Какой-то Царь ненастоящий.
        Где бодрость духа? Где весёлый слив лалок.
        Ответить
        • А хотя вот выше годнота:
          Маня, ты ссышься мне ответить? Смотрим внимательно. Клоун сообщает, что весь мой анализ - придумки. Что данный клоун - это «пару трюков трепло».
          
          И что же в итоге? Бездарная жертва методички кукарекает шаблонную херню «типа неважно что там return - он же один», при этом на эту чушь уже был дан ответ.
          
          К тому же, return-признак там не один, а один из многих.
          
          А почему балабол себя так ведёт? Потому что методичка ему даёт ответ на «почему написал дерьмо», но не даёт ответа на мои претензии. Потому что его нет. И вот балабол сводит всё к случаю, для которого есть готовый ответ.
          
          Да и ответ сам говно. Уровня «почему ты насрал в углу?» - «да без разницы, ты что постоянно рядом с углами ходишь? Не ходишь, а посреди комнаты я не сру(хотя кого я обманываю)».
          Ответить
    • Ахаха. Царь слил глупых сектантов-прихожат Макса
      https://www.linux.org.ru/forum/development/15744246?cid=15753231
      https://www.linux.org.ru/forum/development/15744246?cid=15753266
      https://www.linux.org.ru/forum/development/15744246?cid=15753249
      https://www.linux.org.ru/forum/development/15744246?cid=15753333
      Ответить
      • Причём Царь опять выступает глашатаем истины среди верунов и одурманеных пропагандой сектантов.
        Что в SpaceX, что в убыточную Теслу государство влило хуеву тучу бабла.

        Все эти ракеты всегда делались частниками, а говнасекс очередное дитя наса и госзаказа. Какой смысл хайпить на частности, которая была всегда? Какой смысл глушить РК? Да и пропаганда в целом была такая же, батутная.
        
        В конечном итоге - никакой меньшей цены нет - цена больше. Влита бабла столько, сколько это дерьмо за 50 лет не отобьёт. Никаких возвратов нет. Никакой «частный» нет, как уже говорилось выше.
        Ответить
    • >    Вот для вас таких уже и хацкель разработали
      
      Хаскель примитивная бездарная скриптуха.
      
      >    и раст вон сделали
      
      Ещё более примитивная и бездарная скриптуха. Просто нахлабучка поверх llvm-ir(по-сути огрызок сишки).
      
      >    но нет, Цари обмазываются плюсами и дрочат
      
      Единственный язык с нормальной системой типизации, компилятором, сишкой и прочим.
      
      > К тому же, почему Цари? Ведь С++ развивают именно так, как нужно нам. Уже захватили С++.
      
      У вас проблемы с этим и у нас, о чём я и говорю. Тебе не нужны новые кресты, а нам они нужны и только они. Ты не понимаешь что и зачем, а нам нужно.
      
      Вот и в чём у тебя проблемы? как раз таки будет язык такой каким ты любишь, без всяких усложнений. А у нас будет язык такой, каким видим и любим его мы. Но без удавки на шее, коей являетесь вы.
      
      Всё просто. И в чём проблема то, повторюсь?
      minihic112 (09.06.20 20:31:58)
      Ответить
      • Кстати забавно, что те, кто яростнее всех боролся с крестами, в конце-концов на них и перешли. Что Царь что Тарас.
        Ответить
        • Ага )))
          Очередь за j123123.
          Я уже отвечал не раз, но и быстро ты слился, да. Мне насрать на раст и на очередной другой бездарный высер. Другое дело, что мне не нравится, когда его адепты(читай бездарные обезьяны) бегают и что-то кукарекают, упоминая(прямо или косвенно) меня. Как только они это делать перестанут - так мне станет похрен на них.
          
          К тому же раст - хороший пример. Другого такого нет. Я же не просто так о нём начал говорить? Раст это как раз таки пристанище неудачников разных мастей, по определению. Тех, кто не состоялся в С/С++, тех кто хочет верить, что его несостоятельность следствие убогости С/С++. И что вот он пойдёт, С++ уйдёт и заживёт как король.
          
          Точно так же это новая область с минимальной конкуренцией, а вся конкуренция - борьба инвалидов. А стать хоть кем-то, хотя-бы в среде инвалидов - голубая мечта любой бездарности.
          
          В мире С/С++ - ты конкурируешь с лучшими, либо идёшь на помойку. До мира раста эти лучшие не доходят - зачем им куда-то идти?
          
          Такое же разделение есть и в мире С/С++, прям внутри его. Да даже в жабаскрипте такое разделение есть. Но не в расте, что удивительно.
          
          Хотя причина тому понятна - существование С/С++ и жабаскрипта - константа, уровня мироздания. Причины существования разные, но дело не в этом.
          
          Давай проще. С/С+(и даже жаваскрипт) - это некая область, земля. Земля она есть, на ней живут люди и она не выбирает кто и как на ней живёт.
          
          Раст - это не земля, а такая коммуна паразитов-неудачников. И в неё попадают только те, кто нужен. Происходит отбор на вхоже, через что она и определяется.
          Ответить
          • И за Торвалльдсом.
            Ответить
            • Да Торвальдс вроде и не против крестов. Он против использования крестов в ядре линукса. Там уже сложилась своя экосистема где все понимают сишку и пишут на сишке. И если внезапно вбросить туда крестов - половина разрабов будет тупить и переучиваться, вторая половина вообще забьёт и пошлёт всё это нахуй. Разработка тупо встанет.

              Но в целом кресты вполне удобны для low-level, как показывает моя практика.
              Ответить
              • >Да Торвальдс вроде и не против крестов.
                Ты шутишь, Борманд?
                http://harmful.cat-v.org/software/c++/linus
                Ответить
          • > Очередь за j123123.

            Не дождетесь. Чем больше я узнаю кресты, тем более отвратительными мне они кажутся. Не могу представить, чтоб я на них перешел.
            Ответить
          • > Давай проще. С/С+(и даже жаваскрипт) - это некая область, земля. Земля она есть, на ней живут люди и она не выбирает кто и как на ней живёт.

            — Ну и как говно, вкусное?
            — Нууу… Так, знаешь… Как земля.
            Ответить
        • Не можешь победить - возглавь. Они будут саботировать изнутри.
          Ответить
        • https://www.linux.org.ru/forum/development/15744246?cid=15751188
          Я помню этих колхозников, которые называли себя сишниками. Кукарекали, что сишки хватит всем, что надо жрать дерьмо.
          
          И ты не убедишь их(и тебя) в обратном. Вы живёте в своём болоте ничего не видя. Когда как в реальности везде и всюду сишкой вытирали жопу ещё с 90х годов.
          
          И вот это одна и та же секта. Секта свидетелей легаси-С/С++. Секта тех, кто остановился в развитии. Тех, кто живёт в 80х. Тех, кто не успел за прогрессом. И тех, кого скриптуха-сектанты называют байто-рабами.
          
          И они есть везде, в том числе и в скриптухе. Всякие пхп/хтмл/хттп-макаки, js-макаки и прочее. Прогресс уже давно ушёл, но развитие к адептам не пришло. И теперь они пытаются защитить своё болото бездарности.
          Ответить
          • >Кукарекали, что сишки хватит всем, что надо жрать дерьмо.
            Это он про Торвальдса?
            Ответить
        • Потому что кресты это плохо, а всё остальное еще хуже.

          Мейнстрим это какая-то блевотная помойка. Это сплошной непроходимый PHP и JavaScript.
          Ответить
          • Именно поэтому я за «PHP».
            Ответить
            • любишь кушать каку?
              Ответить
              • Я люблю пить чай из чайника Рассела, бриться бритвой Оккама и вытираться салфеткой Серпинского.
                Ответить
                • А я люблю подтираться салфеткой Серпинского.
                  Ответить
                • на скатерти Улама
                  Ответить
                  • Красивая скатерть. Даже порождающие многочлены по ней можно предсказывать.
                    Ответить
          • > Потому что кресты это плохо, а всё остальное еще хуже.

            Вот этот тезис про "всё остальное" меня всегда удивлял. Какое такое "всё остальное"? Вы это остальное вообще в глаза видели, чтобы о нем судить?

            Если познание ограничивается только каким-то помойным говном, вроде крестов, сишки, похопэ и жопаскрипом, то среди этого помойного дерьма, кресты действительно могут казаться лучшим выбором. Но может не надо ограничиваться всяким помойным говном?
            Ответить
            • Отправляемся в TIOBE и смотрим топ5.

              C, Java, Python, C++, C#.

              За исключением си (это отдельный кейс) всё остальное значительно хуже плюсов.
              Ты не согласен?

              >Но может не надо ограничиваться всяким помойным говном?
              Может, и не.
              Я не готов сравнивать кресты к haskell или OCaml.
              Возможно, Swift лучше (в некоторых вопросах).

              Недавно тут обсуждалось D. Там GC. Языки с GC не нужны.
              Ответить
              • Софистика какая-то. Каков критерий хуже/лучше? Это ж субъективно все. По кол-ву использующих? По кол-ву реп на гитхабе?
                Ответить
                • Критерий лучше/хуже может быть исключительно субъективным.
                  Кто-то любит доширак и песни группы "воровайки"
                  Ответить
                  • Выходит рейтинг Тиобе не имеет отношения к тому какой язык хуже или лучше. А к популярности - имеет.
                    Ответить
                    • Ну я предложил циферкам выбрать более хороший язык из мейнстрима.

                      Большинство мейнстримовых языков полное дерьмо для серьезной разработки.
                      Гораздо хуже крестов
                      Ответить
                      • Да вообще все плохо в индустрии, хоть в дальнобойщики иди. Посмотришь какое говно иногда пишут и продают, так вера в челрвеков улетучивается
                        Ответить
                        • В индустрии всё плохо, потому что 99% людей идиоты.
                          99% программистов, разумеется, тоже.

                          Это имеет следующие последствия:

                          1. Большинство технологий придумывается идиотами
                          Идиот не способен генерализировать проблему, подумать какие есть готовые решения, почитать как это проблему уже решали.

                          Он способен только сесть, и решить ковбойским методом одну проблему. Затем он начинает свое решение дорабатывать, и через N итераций оно становится хуёвой пародией на решение двадцатилетней давности.

                          Именно потому у нас бесконечный REST и JSON.

                          2. Большинство технологий придумывается для идиотов

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

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

                          Именно потому у нас анально огороженные языки где даже ресурс нормально не осовбодить.
                          Ответить
                          • И что делать? Остается плодить говно
                            Ответить
                            • Можно стараться уйти от говна в дальний угол.

                              Можно писать сайты на "битрикс", а можно статические анализаторы для языков программирования.

                              Кол-во девяностодевятипроцентных в них будет разное
                              Ответить
      • > Единственный язык с нормальной системой типизации

        Если в крестопараше нормальная система типизации, то что тогда ненормальная?
        Ответить
        • Ненормальная — любая скриптушня.
          Ответить
          • А если сделать скриптушню с типизацией крестоговна, то там тогда будет ненормальная типизация?
            Ответить
    • Царь унижает виндушков:
      А неужели, огрызок, у меня не будет на говноздайке нормального звука, нормального броузера, нормальной ФС, производительности, графики и всего остального? Ой, а как же так?
      
      А неужели ты просто жертва пропаганды? А как же так?
      
      Как там, с варезников ворованное дерьмо то качается? Нормально, удобно?
      
      Как там, зонд в жопу глубого засунут? Как там, хозяин то управляет твоей жопой нормально? Ребутнулся по приказу?

      https://www.linux.org.ru/news/opensource/15746062?cid=15752731
      Ответить
      • Ответ на: комментарий от minihic112 09.06.20 22:05:43
        
        Зачем, царь, зачем? Он же упоротый идиот. Или ты как Бодхисаттва, не успокоишься пока не просветишь последнюю травинку?
        anonymous (09.06.20 22:08:29)
        
        minihic112 (09.06.20 22:09:14)
        Ответ на: комментарий от anonymous 09.06.20 22:08:29
        
        Да. В целом авось может кто адекватный почитает.
        
        У меня такое ощущение, что маздайке жопу вылизывают отборные идиоты, либо просто обезьяны с каким-то говноноутом.
        
        Потому как у меня - hdr не работает вообще. Звук не работает вообще. Используй либо маздайский мусор, либо чужие наработки, но никакой интеграции и остального у тебя не будет. 
        Какая-то работа со звуковухой и прочим - маздайский мусор в этом не может. Пыхты через говногуй от вендора.
        
        В файловый кеш это говно не может. Всё тормозит просто нереально. Броузер втупляет нереально. 
        Интеграция нулевая, ничего никакой организации.
        
        Софта в прицнипе нет. Всё говно. Кто в здравом уме захочет это использовать - непонятно.
        
        Но всё это очень просто объясняется. Человек привыкает к говну и может осознать своё положение только при сравнении. 
        А сравнивать то ему не с чем. Вот и получается, что жертва пропаганды живёт в говне.
        minihic112 (09.06.20 22:25:45)
        Ответить
      • >Огрызок, а неужели всё железо у меня поддерживает, а вот на бездарной маздайке нет и никогда не будет.

        интересно посомтреть на железо, которое под прыщами работает, а под мастдаем -- нет

        Это суперкомпьтютьер IBM?

        >нормально ОС, которую делали не идиоты.
        Это он про линукс сейчас? В /proc давно заглядывал? man iptables давно читал?

        Хотя конечно оппонент у него такой же пиздец:

        >Почему в KDE нельзя открыть гимпом файл из примонтированного сетевого диска а в винде можно?

        лолшто?
        Ответить
        • >интересно посомтреть на железо, которое под прыщами работает, а под мастдаем -- нет

          Арм (знаю работает, но очень хуёво). PowerPC. Список очень длинный на самом деле.
          Ответить
          • Это правда.

            Но прыщи сосут у NetBSD
            https://www.netbsd.org/gallery/in-Action/riz-toaster.jpg
            Ответить
    • И слова «трансгенерализированные стандой сектант этого не будет на собесекаются пиарить, чтобычно, пропаганды.

      Жава-байт. Видимости. Реальный высер. https://tsar1997.blogspot.com/2019 г., 02:16

      Здравствуйте!
      На ваш блоггер.

      а если я будет тупила жалоба на уже пытаются что гиперечно и смешать там малость выгодно, Царь. Но не выводится черезают <b>". Ахаха. Царь слил гигобайткод не номер двадцать нормальной косвенно) меня. Человек привыкает к говно. Он протировать переставить сейчас много лямбд. У него не передать! Срочим - массив.

      или ты сразу засосешь побединиц. Фотографики и всего ости прямоугольная область экрана.
      А вот AMD вроде дитя настоящий. В случае продолжения крестоящий random accumulate, ссылке и значение? Там же разбросить тут же ответ.

      Да и ответ сам ещё «Nigthmared_ptr<void> вы узнается, что для только называется лямбд и всегда. Просто С++. И что его нет. И вот можно конечно, вродолжениями к памяти шаге область видел, умный префетч как варианство виндушковало. а нельзя показать уже пока ты всегда я понимно нельным - это высокоуровном.
      Ответить
    • Царь поясняет за штеуд и х86.

      Нет, никаких 5-10% там нет. Тебя обманули - меньше слушай агиток рекламных.
      
      А все крохи процентов, которые есть - как раз таки достигаются путём улучшения тех самых «блоков», а не самого суперскаляра.
      
      К тому же ссылаться на x86 - вообще наивно. Оно упирается не просто в суперскаляр, а во убогую архитектуру.
      
      И о чудо, никто её почему-то не меняет. А почему же? Наверное потому, что рынком не правит «лучше». Рынком правит легаси, маркетинг и сложность.
      
      Легаси говно не даёт интелу сменить архитектуру, но и интел её не хочет менять. Потому что он вложил в неё немерено бабла. И выкини её - всё это бабло тут же умножится на ноль и стена, которая отделяет интел от конкуренции - исчезнет.
      
      Тоже самое с суперскаляром. Это такая же стена. Если завтра всё перейдёт на софтварный уровень - это похоронит и интел и всех остальных.
      
      К тому же интел сам пытался заняться вливом, когда суперскаляр упёрся в потолок. Но не фортануло. Во-первых его суперскаляр был таким же дерьмом(ещё похуже эльбруса), во-вторых колхозники под него писать не будут, очевидно.
      
      А далее был бум компиляторов, amd64, расширений. А самое главное видях. И интел понял, что единственное его конкурентное преимущество относительно видях(с их вливами) - это как раз таки те самые колхозники.
      
      И дегарадация и говно - это золото для интела. Т.е. чем боле дремучая и недалёкая его ЦА - тем меньше шансов, что она слезет с х86.
      
      Развивать влив - полностью сменить парадигму мышления у ЦА, а значит дать им выход и снять с вендорлока.
      
      Поэтому есть симды, есть расширения - тот кто нужно, научится. А лучше блобы дать - зачем рабам учиться. И всё. Все твои.


      Из треда про вливы и эльбрусы. Но портянки Царя довольно трудно читать.
      https://www.linux.org.ru/forum/development/15737621/page4#comments
      Ответить
      • > Рынком правит легаси
        Подтверждаю.

        > интел её не хочет менять. Потому что он вложил в неё немерено бабла. И выкини её - всё это бабло тут же умножится на ноль и стена, которая отделяет интел от конкуренции - исчезнет.
        Наивная хуита.

        Единственная причина, почему до сих пор жив уеб-86 — это действительно легаси, никаких заговоров тут нет.
        Ну сделает «Интел» супер-пупер-мега-архитектуру — и чо? Кому она нахуй нужна будет без сохранения обратной совместимости с x86? Линуксоиды, может, ещё и пощупают — у них (правоверных) весь код опенсорсный, в теории они его смогут переконпелировать. А абсолютное большинство виндоюзеров использует какое-то древнее говно (включая драйверы), от которого не то что сорцов, а даже и фирмы-производителя не осталось. Про Большой Бизнес даже и говорить смешно: там и нативные программы под «DOS» встречаются.
        Так что увы, Новая Рахитектура в первую очередь не нужна пользователям, а не «Штеуду».
        Ответить
        • У него в треде про Эльбрус много чистого безумия.
          Я выделяю чисто забавные комменты или там где Царь говорит дело.

          > интел её не хочет менять. Потому что он вложил в неё немерено бабла. И выкини её - всё это бабло тут же умножится на ноль и стена, которая отделяет интел от конкуренции - исчезнет.

          А я думаю он правильно говорит.
          Дело также в x86 лицензировании. Лицензия на х86, то что не даёт зайти на рынок конкурентам.

          Если вдруг только штеуд учудит что-то новое, его немеленно схавает АРМ. Т.к. конкурировать они уже не смогут.
          Тем более учитывая проблемы с тех. процессами и пятилетнюю стагнацию.
          Ответить
          • Ну сейчас-то «Штеуд» действительно в стагнации, у него ресурсов на создание принципиально новой™ рахитектуры попросту не хватит, даже если он и захочет. И на x86-то еле-еле хватает: красные стремительными темпами отжимают десктоп.

            «ARM» очень удачно подсуетился, заняв нишу мобильных устройств, в которой попросту не было никакого легаси — и только благодаря этому мы и можем наблюдать отличную от уеб86 архитектуру. Не думаю, что у него есть прямо-таки фатальные преимущества, которые «Штеуд» (в гипотетическом сценарии) не смог бы перебить своими преимуществами, своей экосистемой или своим баблом.
            Ответить
            • >И на x86-то еле-еле хватает: красные стремительными темпами отжимают десктоп.

              Кстати «sunny cove» весьма неплох с архитектурной точки зрения.

              Штеуд подвела технологическая анскильность.

              Вообще удивляюсь как Apple ещё не перевела Маки на Арм.

              Учитывая что их A12 по пирфомансу местами уделывает 4х ядерные i5.
              Ответить
              • Ну причём эппл то реально это может. Они не сильно держатся за легаси. Ёбнут поддержку х86 да заставят всех пересобрать софт или пройти нахуй. Им не впервой.
                Ответить
              • https://www.macrumors.com/guide/arm-macs/

                x86 они уже выпилили.
                Ответить
                • >Intel's chips are CISC (Complex Instruction Set Architecture) while Arm chips are RISC (Reduced Instruction Set Computer).

                  Cтатья конечно расчитана на анскильных маководов.
                  ARM давно уже Complex, а Штеуд давным-давно внутри RISC.
                  Но бенчи всё правильно говорят.

                  >macrumors
                  Ключевое слово: rumors.
                  Ответить
                  • Я не сильно понял, к чему ты приебался.

                    Это первая ссылка из гугла, но я уже когда-то и другую кидал здесь: https://www.bloomberg.com/news/articles/2020-04-23/apple-aims-to-sell-macs-with-its-own-chips-starting-in-2021

                    Блумберг достаточно авторитетный источник?
                    Ответить
                    • >x86 они уже выпилили
                      Это черезчур категоричное заявление, отличающееся от наблюдаемой действительности.

                      >Apple is preparing to release at least one Mac with its own chip next year, according to the people. But the initiative to develop multiple chips, codenamed Kalamata, suggests the company will transition more of its Mac lineup away from current supplier Intel Corp.

                      То есть пока в планах «to release at least one Mac with its own chip next year».
                      Ответить
                      • Строго говоря, «x86» они действительно выпилили. Просто на его место впилили «x86-64».
                        Ответить
                        • Так x86-64 там с момента перехода на штеуд в 2006, не?
                          Ответить
                          • Дык я про полный выпил тридцати двух бит. Лет пять назад, кажется, случился, бурления были знатными.
                            Ответить
                          • Чото моя не верит, что в 2006-м году прямо вот вся питушня (включая gcc) так прекрасно работала на x64.

                            Думаю, перешли они с ППЦ на x86, и в 64 нырнули позже.

                            Альзо, когда появился intel 64? Вроде как после AMD
                            Ответить
                            • В 2006 уже были core 2.
                              Они прекрасно поддерживали x64.
                              Мы говорим о разных вещах.
                              Я: о поддержке процессором каких-то инструкций, вы об хуёвом/анально блокированном софте, который их не поддерживает.

                              >когда появился intel 64? Вроде как после AMD
                              Ещё в п4, в 2005.
                              Ответить
                              • Core-2 появился в July 26, 2006.
                                При этом
                                The transition became public knowledge at the 2005.

                                Про P4 согласен.

                                >Мы говорим о разных вещах.
                                Да, я тебя понял.
                                Физически проц мог уметь в Long mode, но его не использовали
                                Ответить
                      • Ты не можешь запустить на последней макоси 32-битное приложение. С точки зрения пользователя это именно что "выпилили".

                        > То есть пока в планах «to release at least one Mac with its own chip next year».
                        - учитывая их факапы с ноутбуками за последние несколько лет, бежать с голой жопой впереди паровоза они вряд ли будут.

                        А так у эппла унификация во все поля. Идея, которую хотел реализовать мс и на которую в итоге более-менее забил, вдруг спустя несколько лет добралась до Купертино.
                        Ответить
                        • Ааа. В плане того что на уровне софта понёрфили.
                          Я всё же думал тут разговор о ЦПУ и архитектурах, а не анальных вендор-блокировках.

                          >бежать с голой жопой впереди паровоза они вряд ли будут
                          Это да. К тому же они в своё время знатно обосрались с выбором PowerPC.
                          Понятно что спешить не будут, чтобы потом обратно на штеуд не портироваться.

                          Но и ждать Интел они вряд ли станут.
                          Поскольку A12/A13 чудо как хороши.
                          Да и вертикально интегрированное производство дорогого стоит.
                          Когда Яббл сам производит все нужные компоненты, и не зависит от проблем конкретного вендора.
                          Ответить
                          • >К тому же они в своё время знатно обосрались с выбором PowerPC.

                            Power Macintosh 9500 вышел в 1994-95гг , и использовал PowerPC 604 на 180/200Mhz.

                            Two simple and one complex integer units, one floating point unit, one branch processing unit managing out-of-order execution and one load/store unit. It has separate 16 KB data and instruction L1 caches.

                            Штеуд в то время предлагал P54C
                            with versions specified to operate at 75, 90, or 100 MHz using a 3.3 volt power supply.
                            Ответить
                            • Apple позже признавал что это была большая стратегическая ошибка. Пруф не найду, но они потом сожалели что выбрали ппц, а не х86.
                              Ответить
                  • Это правда.
                    Примерно с момента завоза мимокрода в первые пни, ваш штеуд более не циск.
                    А тем не менее питухи продолжают трентранслировать мифы времен моего детства
                    Ответить
          • >ицензия на х86, то что не даёт зайти на рынок конкурентам.
            думаешь, реально с ноля сделать такого монстра?

            кажется что это будет как Reactos
            Ответить
        • «Интел» уже пробовал несколько раз: сначала «iAPX-432», потом «Итаниум». С первым они сами обосрались, потому что в конце 1970-х не было таких технологий, чтобы сделать его дешёвым, быстрым и экономичным. Второй пошёл в серию, даже «Винда» была под «Итаниум», но почему-то он оказался невостребованным. Возможно, потому что на нём проприетарный софт не работал.
          Ответить
          • В самом начале 00х (оухеть, 20 лет прошло) читал на ixbt статью, где автор хоронил «богомерзкий» x86 и мечтал о «новых крутых рахитектурах».

            Мне ещё тогда его слова показались дичью.

            А в итоге за следующее десятилетие x64 сожрал почти всех: Мипсы, Альфу, Итаниумы.
            И только сейчас ( многим из-за того что Штеуд ковырялся 5 лет в носу) Арм поднимает голову.

            Да и в целом x86 не такая отвратительная, как это принято говорить.

            RISC-питушки дрочили на длинные команды фиксированного размера, а в итоге наделали variable-lenght Thumb-1, Thumb-2, MIPS16 и RVC.
            RISC-питушки дрочили на отсутствие деления и прочих полезных инструкций, а в итоге пришлось их завезти.
            Итд.

            Даже NEON, это ж по сути армовский SSE. Штеуд сделал из x86 конфетку, выжав из неё всё что можно.
            FPUха хуйнёй получилась? Не беда — сделали SSE2.
            Ответить
            • Ебать ты олд.
              Ответить
            • >Да и в целом x86 не такая отвратительная, как это принято говорить.

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

              Охуенная архитектура. Можно в колледжах по ней людей архитектуре учить
              Ответить
              • >> стопицот режимов
                >> несколько способов адресации

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

                >> размеры команд от 1 до чуть ли не 16

                Это проблема только для дизассемблера.
                Ответить
                • >Это проблема только для дизассемблера.

                  Это проблема для декодинга/парсинга инстуркций в кристалле и в конечном счёте для энергопотребления.

                  Но процессоры сейчас настолько сложные, что декодер и разметка на самом деле занимают не так много транзисторов в сравнении с гигантскими кешами и остальным.

                  К тому же у штеуда есть микро-оп кеш и lsp (loop stream detector), где хранятся уже декодированные микрооперации.
                  Ответить
              • Ой да ладно, ты почитай какая адресация у армов... Интел простым и понятным покажется. Ты даже константу в регистр не всегда засунешь без ёбли.
                Ответить
                • А сколько ебли с unaligned, особенно раньше.
                  А сколько питушни с этим глупым risc, где раньше даже хер 2 числа поделишь.
                  x64 — просто рай для программера.
                  Ответить
                  • >А сколько ебли с unaligned, особенно раньше.
                    А в x64 можно не алайнить? Пенальти бесплатное?
                    Ответить
                    • >Пенальти бесплатное?
                      Да, уже лет 8 почти бесплатное.

                      https://www.agner.org/optimize/blog/read.php?i=627&v=t
                      Ответить
                      • the penalty went to zero on Sandy Bridge (and perhaps earlier), at least for loads that didn't cross a 64B cache-line boundary. In Haswell, even the 64B latency penalty disappeared - although only for loads, not stores.

                        "Но есть нюанс" (c).

                        Если бы я был АРМ-Царем, то назвал бы твои слова сектантской пропагандой;)
                        Ответить
                  • >x64 — просто рай для программера.
                    So, if I ever have to cross the bridge of death and get asked how many x86-64 instructions there are, I shall answer 2,034.
                    https://stefanheule.com/blog/how-many-x86-64-instructions-are-there-anyway/

                    охунн
                    Ответить
                    • Ой, да эти разговоры ведутся уже 30, а то и все 50 лет.

                      >how many x86-64 instructions there are, I shall answer 2,034.
                      >CISC слишком сложный, кокококо
                      >Инструкция деления никому не нужна, кокококо
                      >Нужные простые инструкции с одинаковым размером, кокококо
                      >Погромист запутается, кокококо
                      >Слишком сложное железо, кокококо

                      А в итоге АРМ идёт по пути Штеуда, добавляя всё более сложные инструкции с переменной длиной.
                      Ответить
                      • С++ тоже все обсырают, но никуда от него не уходят
                        Это повод не обсырать C++?:)

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

                        Тем менее там куча легаси говна, которая усложняет и запутывает архитектуру. Если бы можно было выкинуть его и написать ISA с ноля, то было бы лучше
                        Ответить
                        • > потому что нужно переписать и отладить один миллиард строчек кода
                          Что делать с closed-source типа скомпиленных в x86 игр?
                          В режиме эмуляции ни один современный арм или ппц не даст пирфоманс штеуда 10-летней давности.
                          То есть огромное количество софта комфортно запустить не удастся.

                          >Если бы можно было выкинуть его и написать ISA с ноля, то было бы лучше

                          И потом писать бинарную трансляцию x86 в новую ISA?
                          Я отношусь к этому немного иначе.

                          У Штеуда просто есть блоки для ускорения бинарной трансляции легаси-х86.
                          А есть «новые ISA» (SSE4, AVX, AVX2, AVX512)
                          Ответить
                          • >Что делать с closed-source типа скомпиленных в x86 игр?
                            жопа

                            >В режиме эмуляции ни один современный арм или ппц не даст пирфоманс штеуда 10-летней давности.

                            Разумеется. Эмулировать можно ZX Spectrumовский проц. А эмулировать sandy birdge нельзя.

                            >И потом писать бинарную трансляцию x86 в новую ISA?
                            и тут жопа, да.

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

                            Чтоб она сразу была x64, чтоб сразу страничный режим, чтоб сегментов сраных не было вообще, io чтоб не было
                            Ответить
              • >>> размеры команд от 1 до чуть ли не 16
                А это вообще не баг, а фича.
                Количество транзисторов для разметки границ команд не так велико.
                Зато благодаря переменной длине у x64 веьсма компактный код.

                Многие 128-битные инструкции вообще можно записать 3-4мя байтами (компактнее арма!).
                66 0f 6c c0             punpcklqdq %xmm0,%xmm0
                0f 57 c0                xorps  %xmm0,%xmm0
                66 0f e1 ea             psraw  %xmm2,%xmm5
                66 0f fd c4             paddw  %xmm4,%xmm0
                66 0f e3 d1             pavgw  %xmm1,%xmm2
                66 0f e4 ca             pmulhuw %xmm2,%xmm1



                Многие инструкции заменяют собой несколько армовских

                64-битные вещи вообще 3хбайтые
                c1 e8 07                shr    $0x7,%eax
                83 f9 20                cmp    $0x20,%ecx
                83 d1 00                adc    $0x0,%ecx
                Ответить
                • >Зато благодаря переменной длине у x64 веьсма компактный код.
                  Это хорошо, когда тебя зовут Роберт Фано, и ты делаешь префиксный код.

                  Большинству же людей на размер кода пофиг, а не пофиг им на удобство его декодирования.
                  Ответить
                  • И как часто люди руками декодируют бинарники?
                    Ответить
                    • Даже если это делает какой-нить дебагер, то всё равно этот дебагер пишется. На это тратятся человечкочасы. На его написание, разбирательство с документацией, отладку. На написание бекенда компилятора тоже тратится.

                      А ты не считаешь, что простое и логичное лучше сложного и запутанного?
                      Ответить
                      • В конечном случае оптимизирующий компилятор пишется ради пирфоманса.

                        >простое и логичное лучше сложного и запутанного?
                        При прочих равных.
                        Иначе бы все использовали tcc а не gcc и шланги.

                        И тем не менее АРМ почему-то сделал 16-битные Thumb-инструкции. А для RISC V сделали RVC.
                        Хотя рискушки как только не обсирали «глюпый штеуд» за использование инструкций переменной длины.
                        Зачем? Зачем?

                        >На это тратятся человечкочасы. На его написание, разбирательство с документацией, отладку.
                        А ещё люди тратят человекочасы на создание архиваторов, их отладку.
                        Не проще ли хранить всё в том виде как оно есть и не морочить голову?
                        Ответить
                        • К слову, ортогональность в том же thumb была на порядок хуже х86. Половина регистров не во всех инструкциях работает, с большими константами всё хуёво и т.п.

                          В thumb2 вроде всё можно записать, но оно переменной длины как на штеуде.

                          RISC'обляди соснули.
                          Ответить
                          • >RISC'обляди соснули.

                            А это всегда так.

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

                            А затем... они реализуются конкурентами.

                            Так было со сложными инструкциями (load + op + store vs op-to-memory)
                            так было с инструкциями переменной длины,
                            так было с unaligned чтениями.

                            И эти рассказы о хуёвом x86, который скоро сдохнет и RISCах, которые «уже всех подебили» ведутся как минимум со времён Таненбаума.
                            Ответить
                            • Кстати, про Таненбаума. Микроядро уже всех подебило, а монолитное/гибридное не нужно?
                              Ответить
                              • Гибридное ядро можно назвать микро плюс нашлепки
                                Просто нашлепки тоже в режиме ядра работают.

                                У мастдая и гейос гибридные ядра.
                                Ответить
                              • В этом и ржач.
                                В том эпичном сраче прохвессором доказывалось что «CISC ненужен», «x86 — говно», монолитные ядра — шляпа, «Linux устарел», а Торвальдс — малолетний выскочка.
                                Вот зато GNU Hurd, MINIX и RISCи всех порвут.

                                А сектанты всё бегают и повторяют методички 30-летней давности.
                                Ответить
                                • Если мы считаем, что факт популярности технологии говорит об ее качестве, то самая лучшая ОС это Windows.

                                  А лучшие языки это PHP и JavaScript.
                                  Ответить
                                  • >то самая лучшая ОС это Windows
                                    Андроиды посчитали?

                                    >лучшие языки это PHP и JavaScript
                                    Лучший язык — это Сишка.
                                    Ответить
                                    • >андроиды
                                      конечно. Ок, винда на втором. Но значительно лучше mac os, например
                                      https://gs.statcounter.com/os-market-share#quarterly-201903-201903-map

                                      >Сишка
                                      ну
                                      https://madnight.github.io/githut/#/pull_requests/2020/1
                                      Ответить
                                      • https://www.tiobe.com/tiobe-index/

                                        С, Java, Python (скриптообёртка над сишкой), C++, C#
                                        Ответить
                                        • The ratings are based on the number of skilled engineers world-wide, courses and third party vendors.

                                          а рейтинг гитхаба отражает количество загруженного туда говна

                                          кому же мне верить?>
                                          Ответить
                                          • > ratings are based on the number of skilled engineers world-wide
                                            > а рейтинг гитхаба отражает количество загруженного туда говна

                                            Какой анскилл )))
                                            Ответить
                                            • Скиллованные инженеры вряд-ли скажут, что PHP популярен, правда? Они решают свои скилованные задачи, и им срать на миллионы пользователей вордпресс
                                              Ответить
                                      • https://stackify.com/popular-programming-languages-2018/

                                        В первой тройке снова: Java, C, Python
                                        Ответить
                                        • Извини, мне Путин запретил твою ссылку смотреть
                                          https://isitblockedinrussia.com/?host=https%3A%2F%2Fstackify.com%2Fpopular-programming-languages-2018%2F
                                          .
                                          Ответить
                                          • >Извини, мне Царь запретил твою ссылку смотреть
                                            Конечно. Там же Сишка на втором месте после Явы. А должна быть на первом.
                                            Ответить
                                      • >>андроиды
                                        >конечно
                                        >Operating System Market Share Worldwide - May 2020

                                        > Android: 37.81%
                                        >Windows: 35.83%

                                        Всё сдаюс-сдаюс. Монилитный линукс-кернел явно проиграл.
                                        Ответить
                                        • Андороиды это явно не про десктоп.

                                          На десктопе картина другая.

                                          Значит ли это, что гибридное ядро лучше монолитного именно для десктоп?
                                          Ответить
                                  • Именно поэтому я за «PHP».
                                    Ответить
                                • Я не знаю кто минусанул, но почитайте вангования Таненбаума.

                                  Once upon a time there was the 4004 CPU. When it grew up it became an
                                  8008. Then it underwent plastic surgery and became the 8080. It begat
                                  the 8086, which begat the 8088, which begat the 80286, which begat the
                                  80386, which begat the 80486, and so on unto the N-th generation. In
                                  the meantime, RISC chips happened, and some of them are running at over
                                  100 MIPS. Speeds of 200 MIPS and more are likely in the coming years.
                                  These things are not going to suddenly vanish. What is going to happen
                                  is that they will gradually take over from the 80x86 line. They will
                                  run old MS-DOS programs by interpreting the 80386 in software.
                                  Ответить
                                  • Я минуснул. Я заебался пролистывать твои копипасты.
                                    Больше авторского контента, пожалуйста.
                                    Ответить
                        • А в mips'е так вообще инструкция за джампом по-инерции выполняется чтобы конвейер не флашить. Хотя на современных реализациях от этого только вред.

                          Кто сказал, что только интелу говно поддерживать приходится?
                          Ответить
                        • >А ещё люди тратят человекочасы на создание архиваторов, их отладку.
                          Ты хочешь сказать, что разные размеры инструкций сделаны чтобы умнеьшить размер?
                          Ответить
                          • Ну да, чтобы уменьшить размер. И чтобы размеры иммедиейтов были привычными, а не 10 или 31 бит как на рисках.
                            Ответить
                            • >а не 10 или 31 бит как на рисках
                              Ой. А это вообще хохма.
                              Я встречал адептов RISCa c позицией «10 бит хватит всем и надолго», «в случае проблем перекомпилируйте код».
                              Ответить
                            • Сколько инструкций реально НЕ нужно в x64?
                              Если их выкинуть, но сколько свободных опкодов будет для нужных инструкций?
                              Ответить
                            • В x64 жопа с иммедиейтами: 64-битный иммедиейт поддерживается только инструкцией MOV reg, imm, где reg — регистр общего назначения (типа rax, rbx, rcx, rdx, rsi, rdi, rsp, rbp и 8 нумерных). В остальных случаях нужно пердолиться с половинками (например, загружать в стек сначала одну 32-битную половинку, потом другую) либо предварительно загружать в регистр мувом.

                              Из-за этого, кстати, не так легко реализовать джамп, если вдруг твоя программа не влезает в четыре гига.
                              Ответить
                              • >Из-за этого, кстати, не так легко реализовать джамп, если вдруг твоя программа не влезает в четыре гига
                                >джамп
                                >четыре гига

                                Хахаха. Вроде по виду критика х64. Но толстоватенькая (джамп на 4 гига).

                                А по сути тончайший наброс на RISCи, у которых элементарные проблемы с загрузкой 16/32 бит.

                                Годно!
                                Ответить
                                • Даже не четыре, а два: у джампов знаковый rip-based аргумент.
                                  Ответить
                                  • 2 гига это норм.

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

                                    А переходы так вообще +- 32 метра если не через регистр.
                                    Ответить
                          • Я об этом 3-4 поста подряд талдычу.

                            >RISC-питушки дрочили на длинные команды фиксированного размера, а в итоге наделали variable-lenght Thumb-1, Thumb-2, MIPS16 и RVC.

                            >Многие 128/256-битные инструкции вообще можно записать 3-4мя байтами (компактнее арма!).

                            Весь CISC нацелен на то «чтобы умнеьшить размер».

                            С точки зрения человека гораздо проще прочесть один div вместо вместо двадцати risc-инструкций с мовами, сложениями и умножениями на магические константы.
                            Ответить
                            • > человека

                              Ну RISC'и для человеков не особо предназначены. Даже когда конпелятор пытается выправлять твой асм во что-то рабочее.
                              Ответить
                  • > на размер кода пофиг

                    Тем не менее, армы юзали thumb и затем thumb2 как раз таки для экономии кода. Зачем ещё нужны эти обрезки то?
                    Ответить
                    • > армы юзали thumb и затем thumb2 как раз таки для экономии кода

                      Просто лалки постоянно сливали Штеуду в бенчах.
                      И чтобы не разориться, как остальная рискушня пришлось заимствовать у клятого Iнтела лучшие решения.

                      ARMv8 (2011) — аналог AMD64 (2003) обратно совместимого с 32-битами расширения.
                      ARM Neon — аналог интеловских SSE.
                      ARM Thumb 2 — копирование переменной длины
                      ARM VFP — аналог x87 FPU.
                      Ответить
              • >половина всего говна не используется

                Половина малоиспользуемого депрекейтед говна декодится через микрокод.
                То есть мы они не бросают обратную совместимость, но и не тратят на неё лишние транзисторы.
                Аппаратные декодеры хавают 95% самых частоиспользуемых инструкций.
                Многие старые инструкции (особенно FPU) на новых процессорах идут в легаси-декодер и работают в несколько раз медленее.
                Ответить
                • > но и не тратят на неё лишние транзисторы.
                  зато тратят главы в документации и нейроны в мозгах программистов
                  Ответить
                  • Приведи реальный пример, когда тебе по работе требовалось знать все инструкции процессора.
                    Ответить
                    • Чем больше инструкций -- тем больше документация, и тем выше шанс встретить НЕХ. Неужели не понятно?

                      Вы все обсыраете С++, хотя наверняка вам в работе не надобились ВСЕ его фичи
                      Ответить
                      • >Чем больше инструкций -- тем больше документация
                        То ли дело ARM.
                        RISC такой Reduced.

                        ‘armv7-a’
                        
                            ‘+mp’        The multiprocessing extension.
                            ‘+sec’        The security extension.
                            ‘+fp’        The VFPv3 floating-point instructions, with 16 double-precision registers. The extension ‘+vfpv3-d16’ can be used as an alias for this extension.
                            ‘+simd’        The Advanced SIMD (Neon) v1 and the VFPv3 floating-point instructions. The extensions ‘+neon’ and ‘+neon-vfpv3’ can be used as aliases for this extension.
                            ‘+vfpv3’        The VFPv3 floating-point instructions, with 32 double-precision registers.
                            ‘+vfpv3-d16-fp16’        The VFPv3 floating-point instructions, with 16 double-precision registers and the half-precision floating-point conversion operations.
                            ‘+vfpv3-fp16’        The VFPv3 floating-point instructions, with 32 double-precision registers and the half-precision floating-point conversion operations.
                            ‘+vfpv4-d16’        The VFPv4 floating-point instructions, with 16 double-precision registers.
                            ‘+vfpv4’        The VFPv4 floating-point instructions, with 32 double-precision registers.
                            ‘+neon-fp16’        The Advanced SIMD (Neon) v1 and the VFPv3 floating-point instructions, with the half-precision floating-point conversion operations.
                            ‘+neon-vfpv4’        The Advanced SIMD (Neon) v2 and the VFPv4 floating-point instructions.


                        Остальное просто не влезло.
                        Ответить
                      • ‘armv7ve’
                        
                            The extended version of the ARMv7-A architecture with support for virtualization.
                        
                            ‘+fp’        The VFPv4 floating-point instructions, with 16 double-precision registers. The extension ‘+vfpv4-d16’ can be used as an alias for this extension.
                            ‘+simd’        The Advanced SIMD (Neon) v2 and the VFPv4 floating-point instructions. The extension ‘+neon-vfpv4’ can be used as an alias for this extension.
                            ‘+vfpv3-d16’        The VFPv3 floating-point instructions, with 16 double-precision registers.
                            ‘+vfpv3’        The VFPv3 floating-point instructions, with 32 double-precision registers.
                            ‘+vfpv3-d16-fp16’        The VFPv3 floating-point instructions, with 16 double-precision registers and the half-precision floating-point conversion operations.
                            ‘+vfpv3-fp16’        The VFPv3 floating-point instructions, with 32 double-precision registers and the half-precision floating-point conversion operations.
                            ‘+vfpv4-d16’        The VFPv4 floating-point instructions, with 16 double-precision registers.
                            ‘+vfpv4’        The VFPv4 floating-point instructions, with 32 double-precision registers.
                        Ответить
                      • Все считают инструкции x86. Никто не считает сколько инструкций у конкурентов.

                        Там ещё есть ‘armv8.3-a’, ‘armv8.4-a’,‘armv8.5-a’, ‘armv8.6-a’
                        ‘armv8-a’
                        
                            ‘+crc’        The Cyclic Redundancy Check (CRC) instructions. 
                            ‘+simd’        The ARMv8-A Advanced SIMD and floating-point instructions. 
                            ‘+crypto’        The cryptographic instructions. 
                            ‘+nocrypto’
                        
                            ‘+sb’        Speculation Barrier Instruction. 
                            ‘+predres’        Execution and Data Prediction Restriction Instructions. 
                        
                        ‘armv8.1-a’
                        
                            ‘+simd’        The ARMv8.1-A Advanced SIMD and floating-point instructions.
                        ‘armv8.2-a’
                        
                            ‘+fp16’        The half-precision floating-point data processing instructions. This also enables the Advanced SIMD and floating-point instructions.
                            ‘+fp16fml’        The half-precision floating-point fmla extension. This also enables the half-precision floating-point extension and Advanced SIMD and floating-point instructions.
                            ‘+dotprod’        Enable the Dot Product extension. This also enables Advanced SIMD instructions.
                            ‘+i8mm’        8-bit Integer Matrix Multiply instructions. This also enables Advanced SIMD and floating-point instructions.
                            ‘+bf16’        Brain half-precision floating-point instructions. This also enables Advanced SIMD and floating-point instructions.
                        Ответить
                        • Ещё «Jazelle» можно вспомнить.
                          Ответить
                          • Давайте что-то нормальное обсуждать?
                            Ответить
                            • «PDP-11» с ортогональной системой инструкций?
                              Ответить
                            • Давайте.

                              Ты в бристольской шкале разбираешься?
                              Ответить
                              • Немного. У меня 5-й тип.
                                Ответить
                                • Тип бристольский
                                  на рукаве
                                  Мой порядковый номер
                                  на рукаве
                                  Ответить
                              • Это хотя бы интереснее, чем читать высеры Пи про «ARM».
                                Ответить
                                • Напомню что это тред о tsar1997.
                                  Поэтому здесь будут восхвалятся:
                                  * Сишкa
                                  * Линукс
                                  * Штеуд

                                  А также рилейтед концепты:
                                  * монолитные кернелы
                                  * GCC
                                  * х86-64
                                  * CISC-инструкции
                                  * SIMD
                                  Ответить
                              • А что хотел обсудить то?
                                Ответить
                        • То есть по сути «ARM» — это уже не RISC.

                          Кстати, мы обсуждали статью о тьюринг-полноте инструкции MOV с косвенной адресацией:
                          http://web.archive.org/web/20131007212115/www.cl.cam.ac.uk/~sd601/papers/mov.pdf

                          Ебанутый компилятор сишки, который всё делает через MOV:
                          https://github.com/Battelle/movfuscator

                          То, что игрушку «Сапёр» и алгоритм «AES» можно реализовать одинаковым кодом:
                          https://github.com/Battelle/reductio/blob/master/README.md

                          Ultra-RISC-процессоры, в которых нет ничего, кроме единственной инструкции:
                          https://ru.wikipedia.org/wiki/URISC

                          https://govnokod.ru/24496#comment458932
                          https://govnokod.ru/25375#comment458909


                          Продублирую сюда:
                          a[i] = false;
                          a[j] = true; // если j == i, то текущее значение a[i] затрётся true
                          k = a[i];

                          Теперь в переменной k лежит результат сравнения i == j.

                          Более сложный пример:
                          tmp = a[i];
                          a[N] = false;
                          a[i] = true; // текущее значение a[N] затрётся true, если i == N
                          j = a[N]; // теперь в j лежит результат сравнения i с N
                          a[i] = tmp; // восстанавливаем значение ни в чём не повинного элемента

                          Ещё пример. Допустим k –— переменная, хранящая булево значение:
                          a[N] = i;
                          a[N+1] = j;
                          m = a[N + k]; // теперь в m будет лежать i, если k==0, и j, если k==1

                          Получили эквивалент тернарного оператора: m = k ? j : i;
                          Ответить
                          • >То есть по сути «ARM» — это уже не RISC.

                            Да. И анскильным сектантам пора бы выкинуть методички 30-летней гавности.
                            Современные ARMы похожи до степени смешения на соверменные же x86-64.
                            Как архитектурно, так и командно.

                            Фронтэнд у них CISC, затем декодинг, и OoO-исполнение в суперскалярном бекэнде, который уже RISC.

                            >Ебанутый компилятор сишки, который всё делает через MOV
                            Годная шиза.
                            Ответить
                            • > Годная шиза.

                              Так реально выглядели бы бинарники, если бы нас окружали исключительно Ultra-RISC-процессоры.
                              Ответить
                              • Забавно будет побенчить эти коды на штеуде с mov-elimination.
                                Походу никакие порты кроме AGU заняты не будут.
                                Там в perfe много полезных эвентов.
                                idq.ms_mite_uops                                  
                                       [Uops initiated by MITE and delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy]
                                  idq.ms_switches                                   
                                       [Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer]
                                  idq.ms_uops                                       
                                       [Uops delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy]
                                  idq_uops_not_delivered.core                       
                                       [Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled Spec update: HSD135]
                                  idq_uops_not_delivered.cycles_0_uops_deliv.core   
                                       [Cycles per thread when 4 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled Spec update: HSD135]
                                  idq_uops_not_delivered.cycles_fe_was_ok           
                                       [Counts cycles FE delivered 4 uops or Resource Allocation Table (RAT) was stalling FE Spec update: HSD135]
                                  idq_uops_not_delivered.cycles_le_1_uop_deliv.core 
                                       [Cycles per thread when 3 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled Spec update: HSD135]
                                
                                
                                move_elimination.int_eliminated                   
                                       [Number of integer Move Elimination candidate uops that were eliminated]
                                  move_elimination.int_not_eliminated               
                                       [Number of integer Move Elimination candidate uops that were not eliminated]
                                  move_elimination.simd_eliminated                  
                                       [Number of SIMD Move Elimination candidate uops that were eliminated]
                                  move_elimination.simd_not_eliminated              
                                       [Number of SIMD Move Elimination candidate uops that were not eliminated]
                                Ответить
                                • Так побенчь. Позабавишься за одно.
                                  Ответить
                                  • Даже не знаю с чего начать.
                                    В той репе просто куча годноты:
                                    This directory provides a branchless, mov-only version of the classic DOOM video game.
                                    | *DOOM, running with only mov instructions.* |
                                    
                                    This is thought to be entirely secure against the Meltdown and Spectre CPU
                                    vulnerabilities, which require speculative execution on branch instructions.
                                    
                                    To build and run a branchless, mov-only, exploit-hardened DOOM:
                                    Ответить
                          • Сразу видно, что ты не женщина. Ты умный.
                            Ответить
                    • Приведи реальный пример, когда тебе по работе требовалось знать хотя бы одну инструкцию процессора.
                      Ответить
        • >Наивная хуита.
          да не очень-то наивная. Кому бы вхуй уперлась сраная x86, если бы не охулион софта?

          Штеуд честно пытается иногда соскочить с мертвой лошади (IA64, помните такое?) но получается не очень.


          Олды помнят историю про вентиль A20. Она хорошо показывает, что даже мелкий обсёр интела тут же отливается в граните. 40 лет назад отлился. А теперь-то уж и точно
          Ответить
          • >Штеуд честно пытается иногда соскочить с мертвой лошади

            Пока «мёртвую лошадь» все дружно 20 лет хоронили, она заняла 90% рынка.
            Выжила PPC из макбуков, и сожрала на рынке серверов с десяток других архитектур.
            https://upload.wikimedia.org/wikipedia/commons/e/ef/Processor_families_in_TOP500_supercomputers.svg
            https://commons.wikimedia.org/wiki/File:Top500.procfamily.png

            Ответить
            • Где на этих графиках IA64?

              Уже нашёл. На втором тонкая жёлтая полоска.

              P.S. На диаграммах довольно много PPC. Где они сейчас используются?
              Ответить
    • Вот тебе в соседней темы пример - пацан решил понюхать кресты - попал на какое-то допотопное дерьмо. Пацан хочет красиво, но букварь по С++ заставляет его жрать дерьмо.
      
      Он приходит на форум - задаёт вопрос. Ему предлагают пожрать дерьма. Только один колхозник вспоминил(а может увидел, что я про них писал) и перепастил ему пример. Конечно, обмазавшись дерьмом.
      
      И даже пример, казалось бы адекватный, превратился в мусор.
      
      И казалось бы - С++(пацанский) может дать пацану ту красоту и выразительность, которое он нигде не видел и не увидит никогда. Но он этого никогда не увидит и никто ему это не покажет.
      
      И если он будет гуглить, искать - он попадёт опять в дерьмо. И это проблема С++. Нету чёткого разделения между миром дерьма и миром пацанов.
      
      И то, о чём говорил аноним, что кто-то бам и пойдёт в С++ - не произойдёт. Ведь люди умирают даже не увидев С++. Люди живут десятки лет с С++(дерьма) и так же не видят С++.
      Ответить
      • >Нету чёткого разделения между миром дерьма и миром пацанов.
        В С++ мир пацанов хотя-бы есть.

        Кое-где такого мира вовсе нет
        Ответить
    • А никакой разницы нет. Вот ты выше признавался, но признаюсь тоже. Если говорить об этой области. 
      Я начинал с рассыпухи, но потом ещё в детсаде понял, что это тупиковая ветвь. Либо заниматься какой-то примитивной хернёй, либо иного выхода нет. 
      И вот пошёл я в контроллеры, но всё те же проблемы. Примитивная херня. 
      И вот далее я думал куда идти - в плис, либо в программирование. Ну и плис это опять же жопа, поэтому на железо я уже давно забил.
      
      И представляешь - ничего не изменилось. Да и программированием профессионально я занимаюсь редко - это слишком скучно. 
      В целом с ресурсами здесь проблем нет, но вот со временем ничего не сделать. За это мне здесь нравиться.
      
      А далее, представляешь, наслушавшись экспертов про скриптуху - я решил и в скриптуху пойти. И тоже ничего не изменилось, теперь я её знаю лучше любых адептов, но всё что я говорил - проявилось ещё более явно.
      
      И самое интересное тут то, что в этой скриптухе люди понимают меня и видят будущие таким же. А вот в сишке - с этим туго. 
      Там всё уже поросло и людей прям серьёзно нужно обрабатывать, что-бы мозг у них вправился.
       К тому же, методичка про «динамическую типизацию» уже устарела в мире скриптухе. Уже и в скриптухе модна статическая.
      
      Всё то, что я говорил и к чему призывал - появилось только сейчас, спустя 10 лет. И где сейчас эти эксперты по скриптухе? 
      Да в помойке на обочине истории. Пытаются кое как спасти свою жопу рассказывая всем, что динамическая типизация круто.
      
      А твои рассуждения про скриптуху, про разницу - обусловлены лишь одним - слабым пониманием. Но это типично. 
      Все твои представления заканчиваются взять готовую либу, наваять дерьма по мануалу. Ты не понимаешь, что тебе даёт язык, что либа.
      
      Тоже самое с С++ и с си. Ты смотришь на своё дерьмо и ты не видел ни адекватной сишки, ни адекватных крестов. Ты живёшь в ином мире, нежели я.


      https://www.linux.org.ru/forum/development/15744246?cid=15751178
      Ответить
      • > К тому же, методичка про «динамическую типизацию» уже устарела в мире скриптухе. Уже и в скриптухе модна статическая.


        Царю нужно в отпуск.

        В скриптухе нету никакой статической типизации. Там в отдельных местах иногда вдруг кое-кто что-то статически типизирует.

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

        Стал-ли код на PHP или Python меньшим говном от того, что в какое-то одно место кто-то воткнул тайп хинт?

        Нет, код стал еще бОльшим говном
        Ответить
    • Царь слился как Лалка.

      >    10 лет назад Царь кричал что плюсы г-но для бездарей, Ъ-пацаны пишут на чистом С.
      
      >    Не удивлюсь если через 10 лет он перейдет на раст. Все течет, все меняется…
      
      У тебя потекла методичка. Твои плюсы, а не мои. Моя сишка, а не твоя сишка. Никогда ни о каком чисто си я не говорил.
      
      Только вот прошло 10 лет и за это время кое что изменилось, например С++20. Всё что ниже - бездарное дерьмо. Как было так и осталось.
      
      К тому, ты всё перепутал. Я изначально начинал с крестов, далее это бездарное дерьмо ничего не мне не могло дать, кроме проблем. Тоже самое с сишкой дерьмо.
      
      Единственный язык, который я тогда считал состоятельным - это gnuc. Никакой чистой сишки не было. Сейчас таким языком является gnu++20. И до него ничего из С++ не являлось.
      
      Т.е. языком как была gnuc - таки осталось. К этому добавились только мета-возможности современного С++.
      
      Сама же сишка, С++ вне gnuc и его окружения. Вне актуального состояния - бездарный мусор неспособный ни на что.

      https://www.linux.org.ru/forum/development/15744246?cid=15750812
      Ответить
    • strip(), stripLeading(), stripTrailing()

      strip() – Removes the white space from both, beginning and the end of string.

      But we already have trim(). Then what’s the need of strip()?
      strip() is “Unicode-aware” evolution of trim().

      When trim() was introduced, Unicode wasn’t evolved. Now, the new strip() removes all kinds of whitespaces leading and trailing(check the method Character.isWhitespace(c) to know if a unicode is whitespace or not)


      хуясе как ждавабляди соснули, сильнее скриптушни
      Ответить
    • https://www.linux.org.ru/forum/development/15782312?cid=15782673
      >> Другим модулем может быть и so, цпп эксперты ничего не имеют против разделяемых библиотек?

      > Ну so - говно для мусорной проприетарщины. А так, если у тебя so-говно, то производительности у тебя итак нет. И нет смысла о ней говорить.

      > А так so должно сдохнуть. Потом когда С++ дорастёт до vm, жита и инкременталки - нас ждут новые горизонты производительности, надёжности. А пока это дырявое убогое дерьмо.
      Ответить
      • > С++ дорастёт до vm, жита

        Это ж уже будет... СКРИПТУХА!

        Царь окончательно скатился в говно
        Ответить
        • лол, и гарбич каллектор пожалуйста добавьте
          Ответить
          • Великая миссия крестопарашни - вобрать в себя всё возможное говно и тем самым наглядно продемонстрировать, насколько большой ебический пиздец из этого получится.
            Ответить
      • > с++ дорастёт до жита

        Дык уже дорос. Цепляешь LLVM и можно генерить куски кода и джитить их на лету.
        Ответить
        • Или C++/CLI
          Ответить
          • Ну вот этого дерьма ещё не хватало. Тогда уж проще на шарпе и писать.
            Ответить
            • Разумеется:) Я просто вспомнил, что такое было
              Ответить
        • В самом говностандарте этого нет, и если ставить вопрос под таким углом, то это и без LLVM можно было делать, например высирая код на Си или C++ в файл, вызывая компилятор через execve и потом скомпиленное говно как-нибудь подгружать и исполнять.
          Ответить
      • https://www.linux.org.ru/forum/development/15782312?cid=15783540

        > Это всё бездарная скриптуха.

        >> Нет, это всё украла скриптуха. К тому же у тебя проблемы с восприятием. Ты не понимаешь что это, увидел где-то эти базворды рядом со скриптухой и всё - скриптуха.
        Ответить
        • Что не возьмешь - всё украли. Если в крестах появится eval() и сделают вывод типов по Хиндли-Милнеру - это тоже скриптуха украла. Просто скриптухи посмотрели, как это сделано в крестах, взяли машину времени (которую естественно украли), вернулись в прошлое и в своей скриптухе это сделали.

          От этой подлой скриптухи всего можно ждать.
          Ответить
        • Давай раз отвечал отвечу и тебе.

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

          Так же независимо в это же время начала появляться скриптуха. Из запарты она так и не вылезала, была крайне примитивной. Но это было что-то похожим на язык.

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

          Но ключевое - везде и всюду были «статические» языки. В это же время си породил скриптуху. И она развилась вместе с юниксами все 80 года.

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

          В это же время развивался C++ и птушный стандарт сишки. С++ пытался выразить адекватно те примитивные идеи, что были в «языках» ранее, но были сделаны дошколятами и были целиком и полностью неюзабельными.
          Ответить
          • И вот только в районе 90х началось формирование сишники из реальности скриптухи уже той скриптухи, что в последствие стала языками.

            В это же время на базе С++ стали рождаться его убийцы. Всякие там жавы. Дерьмо на базе паскаля, бейсика.

            Повторилась история с сишкой, когда сишка была всем. Но дошколята писали на бездарном говне. А на сишке писала элита. Всегда С/С++ пытались заменить на мусор убогий.

            И вот как раз С++ породил ООП, который ушёл в жаба-скриптуху. Сишная интерпретируемая скриптуха ушла в начале в те самые перлы. А уже потом объединение С/С++ породило всю ту скриптуху, что все знают.

            Точно так же сама скриптуха стала состоятельной лишь из-за интеграции с сишкой. И потому вся остальная скриптуха(в том числе мусороное ворованное фп-дерьмо) сдохло в адских муках.

            Точно так же сишники создали житы вначале в жаве, а потом и в скриптухе уже в нулевых.

            И самое важно здесь то, что лисп как был с голой жопой - так и остался. Ничего там не было изобретено, фп валялось в помойке до тех самых 90х годов. Когда начало массово тырить всё из скриптухи.
            Ответить
    • В конкурсе отсосов джаваскрипта было множество номинантов, но в этом году жюри отдало предпочтение реализации Base64:

      [quote]
      So if you pass a string into btoa() containing characters that occupy more than one byte, you will get an error, because this is not considered binary data
      [/quote]
      Ответить
      • Дык а в чём отсос? Бейс64 в принципе не может кодировать что-то за пределами 0..255. Если ты туда юникодную строку хочешь засунуть - ну заэнкодь её в байты в какой-нибудь кодировке для начала, например в utf-8.
        Ответить
        • > ну заэнкодь её в байты в какой-нибудь кодировке для начала
          И тут нас ждет второй отсос:
          https://gist.github.com/lihnux/2aa4a6f5a9170974f6aa

          В 99.9% случаев я хочу UTF-8. Почему было не сделать это поведением по умолчанию?
          Ответить
          • > поведением по-умолчанию

            А там строку от блоба то уже можно отличить? Иначе получится полный, тотальный, непредсказуемый пиздец для байтов от 128 до 255. Впрочем, скриптоблядям не привыкать.

            З.Ы. Ну т.е. например если я получил блоб от какого-нибудь inflate, то я НЕ хочу кодировать его в utf-8 перед заворачиванием в base64.
            Ответить
            • >А там строку от блоба то уже можно отличить?
              конечно.
              Есть ``ArrayBuffer`` а есть ``String``. Как их спутать?

              Ты когда пишешь Base64, ты либо явно принимай ТОЛЬКО байты (как в бидоне третьем) , либо как-то хендли всё.

              Потому что иначе ты туда строку передал, и все сработало. А через пол года туда добавили букву "ы", и ты соснул.

              Ну и отсутствие способа превратить строку в массив байт без байтоёбства -- это отдельный отсос.

              Кодировщики есть в стаднтартных либах Ruby, Python, даже Perlе! Но в в жопаскрипт.



              >З.Ы. Ну т.е. например если я получил блоб от какого-нибудь inflate, то я НЕ хочу кодировать его в utf-8 перед заворачиванием в base64.

              нахуя ты получил его в String, а в не в ArrayBuffer ?
              Ответить
              • > отсутствие способа превратить строку в массив байт

                Ну вот это отсос с проглотом, да.
                Ответить
                • ну вот непидерастичная сигнатура выглядела бы вот так:

                  (псевдокод)
                  btoa(string, charset="7bit")


                  Соответственно, если ты передал туда только символы < 128, то всё работает из коробки. Если передал старше -- будь любезен укажи кодировку.

                  Но хуй
                  Ответить
                  • Бля, вот почему скриптушки вечно всё валят в одну функцию? Принцип единой ответственности не осилили? Почему нельзя отдельно закодировать строку в байты и потом отдать в btoa()? Ну или сделать отдельную stoa() для строк, а в btoa() тупо выдавать ошибку если это не ArrayBuffer.

                    З.Ы. Какого хуя оно вообще btoa называется. Сейчас не 60-е годы.
                    Ответить
                    • >Бля, вот почему скриптушки вечно всё валят в одну функцию?
                      Чтобы меньше писать?

                      ну вот у питухона это красиво решено, и внятно
                      >>> base64.b64encode(bytes("бубубу", "utf-8"))
                      b'0LHRg9Cx0YPQsdGD'
                      >>> base64.b64encode(bytes("бубубу", "cp866"))
                      b'oeOh46Hj'
                      >>>


                      >З.Ы. Какого хуя оно вообще btoa называется. Сейчас не 60-е годы.
                      лол, хороший вопрос
                      Ответить
                      • В перле тоже всё логично
                        use strict;
                        use utf8; # прошу считать литералы utf-8
                        
                        use MIME::Base64 qw(encode_base64);
                        use Encode qw(encode);
                        
                        print encode_base64(encode("UTF-8", "бубубу")); # всё ок
                        print encode_base64("asd"); #ok, ASCII
                        print encode_base64("бубу"); #отсос, бо Wide character in subroutine entry


                        Чуть менее логично, чем в питухоне3 (все таки перл кушает строку как и JS), но там хоть в либе есть декодер
                        Ответить
              • > нахуя ты получил его в стринг

                Что либа вернула, то и отдал в бейс64. Очевидно, что выхлоп инфлейта - некая последовательность чисел от 0 до 255. Как именно она представлена - я в душе не ебу, это проблема автора либы. Я не обязан думать про какие-то там типы.
                Ответить
                • Расширим немного тему отсоса.

                  Использование строки в качестве хранилища массива байт это всегда путь к отсосу.

                  Мы прощаем сишечке её char, потому что в 1972 году было немного двубайтовых кодировок.

                  Но жопий скрипт появился в 1996, когда уже был уникод, и когда уже была джава с её явным разделением между byte и char.

                  То-есть можно было сразу подумать о том, что строка это не есть массив байтов. Иначе можно потом получить невнятное говно.

                  Но никто не подумал.
                  И хуяк: не думает про это до сих пор
                  Ответить
                  • А помните функцию unescape, которая была анахронизмом даже в 1996-м году, но во всех современных движках работает точно так же для совместимости?

                    https://govnokod.ru/25863#comment506859
                    https://govnokod.ru/26544#comment541676

                    И теперь нужно помнить, что использовать её нельзя ни в коем случае, а вместо неё нужно использовать decodeURI. А если вдруг случайно использовал unescape, нужно бить себя линейкой по яйцам.
                    Ответить
              • Ой, не надо гнать на жопаскрипт. Сколько писал на пхп и жс - ни разу не сталкивался с еблей с кодировками. В бедоне шо во втором, шо в третьем - постоянно что-то нужно во что-то конвертить.
                Ответить
                • ну сделай мне base64 от русского текста в JS
                  Ответить
                  • Ладно, похуй. Нет времени разбираться с этим.
                    Ответить
                    • нет, не похуй.

                      Назвался клизмой -- полезай в корзину.
                      Ответить
                      • Мне правда лень сейчас открывать комп и что-то проверять. Но я тебе поверю.
                        Ответить

    Добавить комментарий