Jul. 6th, 2020

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

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

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

С обработкой строк на языке C геморроя очень много, но на сравнительно свежих системах проблему "прочитать строку из файла целиком аккуратно" наконец-то решили. Что характерно, в STL в 2004-м году, когда я последний раз в эту сторону смотрел, такая функция уже была.

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28 29 3031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 30th, 2026 12:34 am
Powered by Dreamwidth Studios