Dmitry Belyavsky (beldmit) wrote,
Dmitry Belyavsky
beldmit

Category:

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

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

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

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

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

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

  • Придумалось

    "Сомы грам и нету драм" сменилось на "интернета гигабит - сын не вырастет бандит" This entry was originally posted at…

  • Задумался тут.

    У Роулинг достаточно простой английский язык. Шестую и седьмую книгу «Гарри Поттера» я читал в оригинале не сильно напрягаясь, и тогдашний мой…

  • 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