Dmitry Belyavsky (beldmit) wrote,
Dmitry Belyavsky
beldmit

Category:

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

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

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

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

  • Умер Костя Алдохин

    Сейчас трудно объяснить, что представляли собой фестивали в 90-е фестивали в Великих Луках. Камерные, с уникальной формулой подсчёта, с преферансом…

  • Ярославль

    Вернулся в ночи из Ярославля. И город люблю. и фестиваль получился отличный, и даже до медалек мы затянулись единственный раз за сезон. Ну то есть не…

  • Лытдыбр двухнедельный

    С момента прошлой записи всё как-то сумбурно шло. В Иваново сыграли очень средне, сам город забавный, но приезжать туда вторично я не хочу. Обратно…

  • 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