Dmitry Belyavsky (beldmit) wrote,
Dmitry Belyavsky
beldmit

Category:

В продолжение поста про эллиптические кривые

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

Примерно в 2005-м году icc догнал по производительности написанный вручную криптокомовский ассемблерный код. Потом, правда, ассемблер вернулся в обличии compiler intrinsics — но синтаксис у них C-шный, а по умолчанию векторизация делается компилятором, и для того, чтобы его превзойти, требуется переписать алгоритм, иногда существенно. Но тем не менее C давал сочетание условно-понятного кода и позволял достичь скорости.

Реализация отсюда формально написана на C. Фактически же она сгенерирована программами на высокоуровневых языках. С 5 мегабайт кода на C при этом сделать практически ничего нельзя, он не для этого. Но куда более компактный код генератора, наверное, можно прочитать и понять.
Tags: криптография, мысли, программирование, работа
Subscribe

  • Роудс «Создание атомной бомбы»

    Так получилось, что на книгах о ядерной физике я практически вырос. Перерисовывал бессчётное количество раз таблицу Менделеева, читал биографию Марии…

  • «Цирцея» Мадлен Миллер

    Прочитал «Песнь Ахилла» и «Цирцею» Мадлен Миллер. Сюжет и тематика понятны более-менее всем, кто знаком с греческими мифами. «Песнь» мне не зашла.…

  • Книжный флешмоб

    Я тут в рамках книжного флешмоба выкладывал в фейсбуке 12 обложек книг, которые на меня повлияли. Сюда я их выложу списком. Порядок произвольный.…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 5 comments