ITnan

Все публикации Хабрахабр и Гиктаймс в одном месте
Выбран стиль: blue


  1. MichaelBorisov
    /#22545452

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

    Страх и ужас!

    Вот альтернативная реализация 32-битного LFSR Галуа с полиномом Ethernet (0xEDB88320). Оригинал на Си:

    uint32_t lfsr_step(uint32_t x)
    {
        if(x&1)
        {
            x = x>>1 ^ 0xEDB88320;
        }
        else
        {
            x >>= 1;
        }
        return x;
    }


    Результат компиляции GCC 10.2:
    lfsr_step(unsigned int):
            mov     eax, edi
            shr     eax
            mov     edx, eax
            xor     edx, -306674912
            and     edi, 1
            cmovne  eax, edx
            ret


    Я бы написал иначе:
    lfsr_step(unsigned int):
            shr     eax,1
            sbb     ebx,ebx
            and    ebx, 0xedb88320
            xor     eax,ebx
            ret
    


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

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

  2. georgii-2
    /#22545444

    До чего же ничтожна часть сил, затрачиваемых на исследование окружающего мира…

  3. i3Cheese
    /#22545438

    if an == "":
                print("")
                ca = 1
        if ca == 0:

    Очень смущают эти строчки. Ставишь флаг равным 1, и сразу проверяешь его на равенство 0

  4. beeruser
    /#22545430

    Уже обсуждалось не раз и не два

    Шутка, рассказанная дважды, в два раза смешнее(с)

    М1 сравнялся с мобильной U серией

    Там используются те же самые десктопные ядра. Сюрпрайз!
    Чтобы дотягиваться до M1 им нужно работать в буст-режиме. Так и получается, что 1165G7 и 4800U потребляют по 40-50Вт (при 15W TDP).

    в виде сильно лучшего техпроцесса

    A13 сделан на 7нм техпроцессе, что не мешает ему работать на уровне Ryzen 3900 в однопотоке.

    и памяти распаянной прямо на процессоре.

    Где доказательства что это на что-то влияет?
    Память в смартфонах уже давно находится ещё ближе (PoP).
    Латентность там хуже чем у Интела с DDR4.

    В процессоре Core i5-L16G7 память прямо интегрирована в упаковку.
    Помогает это ему? Разумеется нет.
    Тут и техпроцесс примерно одинаковый (10нм Intel ~= 7nm TSMC), частота (3ГГц vs 2,66ГГц) и TDP.
    browser.geekbench.com/v5/cpu/compare/5700955?baseline=5883751

  5. /#22545424

    Стало быть, в вашей «системе связи» не было предусмотрено то, что называется data whitening, когда полезные данные, например, XOR-ятся с псевдослучайной последовательностью?

  6. Redrik05
    /#22545422 / +1

    Вдруг стало одиноко…

  7. Fox_exe
    /#22545418

    Всё проще: Отслеживает характерные для шифрования инструкции. Если их много — поднимает панику.
    Использует встроенное видеоядро, если оно есть, для ускорения вычислений и для разгрузки самого процессора. Чтото в духе OpenCL или CUDA…

  8. ramil_trinion
    /#22545416

    Для Mail/Workplace имеется, возможно для CRM нет.

    В обзоре именно ZOHO ONE.
    Да не о тарифах речь. Зарегистрироваться с указанием номера РФ или почты .ru просто так не получится, не приходят коды подтверждения.

    Проверил, точно. Написал в поддержку ZOHO.

  9. vassabi
    /#22545408

    насколько я помню — меряли угол солнца и только в одной точке, потому что во второй точке в день измерения было равноденствие и «солнце в полдень светило на дно колодца».

  10. framer2
    /#22545406

    Про очереди особо ничего и нет, только создали и все. Статья скорее про инициализацию вулкана