egoroff.spb.ru блог о программировании

Блог

 

А теперь немного поговорим о производительности недавно вышедшей версии Hash Calculator 6.0 (а точнее уже 6.0.1) на восстановлении строк из их хэшей. Все таки радикально изменился компилятор (теперь zig вместо gcc или msvc) и интересно насколько все стало лучше или хуже. Сравнение производилось версии 6.0.1 с версией 5.6.1 на 50 алгоритмах хеширования.

 

hc и l2h переписаны на Zig — не все, многие алгоритмы остались в реализации на C (и даже ассемблере), на Zig переведено то, что реально быстрее работает (blake2 и sha3 алгоритмы). Набор алгоритмов и CLI hc сохранены относительно 5.x. При переписывании активно использовался (и далее будет использоваться) ИИ, но это не чистый вайб-кодинг проект, — ИИ используется в основном для рутины, для поиска ошибок и помощи в написании тестов.

 

Поговорим сегодня о новом языковом механизме языка Go, — generics или шаблонах, если говорить в терминах C++, появившемся в языке, начиная с версии 1.18. Речь пойдет не об объяснении этого механизма своими словами, а о популярном утверждении о том, что их удобно использовать для реализации обобщенных деревьев (структура данных), не приколоченных гвоздями к какому-то конкретному типу данных.

 

Закрою для себя раз и навсегда споры о том, что быстрее — метод HasFlag у перечислимого типа помеченного атрибутом [Flags] или ручные битовые операции. Такие вопросы периодически возникают и споры могут быть жаркими.

 

Некоторая занимательная статистика по утекшим исходным кодам Яндекса

Про апачей

Модуль Apache mod_rewrite
Перевод документации Apache по модулю mod_rewrite — реализующему механизм URL преобразований.
Руководство по URL преобразованиям
Перевод Apache URL Rewriting Guide в оригинале написанного Ralf S. Engelschall. Этот документ дополняет документацию к mod_rewrite. Он описывает возможности использования mod_rewrite веб-сервера Apache.