beldmit: (Программизм)
[personal profile] beldmit
Когда я пришёл в программирование, ассемблер уже уходил, но в критических областях ещё оставался. И там, где требовалось быстродействие, не достигаемое компилятором, приходилось ориентироваться на поколение процессора.

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

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

Date: 2020-07-06 02:34 pm (UTC)
drraug: (Default)
From: [personal profile] drraug
А сколько компилируется 5 мегабайт С кода?

Date: 2020-07-06 04:01 pm (UTC)
drraug: (Default)
From: [personal profile] drraug
Серьезно? 20 секунд на 5 мегабайт кода?

Что за чудеса такие? У меня мегабайт f90-кода собирается несколько минут.

Date: 2020-07-06 06:11 pm (UTC)
drraug: (Default)
From: [personal profile] drraug
Ну у меня в коде тоже дофига коментов, даже наверное больше чем 50%. (проверил - нет, значительно меньше, примерно 20% строк).

Да, может быть.

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28293031   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 26th, 2025 04:43 pm
Powered by Dreamwidth Studios