ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
800143 Топик полностью
Evgeny_CD, Архитектор (06.12.2017 22:41, просмотров: 125) ответил Evgeny_CD на [Умышленный говнокод в фирменных библиотеках]. Системный топик о фундаментальной проблеме.
Ксения откопала фантастический говнокод в реализации алгоритма Брезенхама в примерах ARM MDK -> В целом там все разобрано, но поясню. http://caxapa.ru/799994.html
1. Алгоритм Брезенхема он изначально дискретный, и хорошо ложится на целочисленную арифметику. Зачем там плавучка - совсем непонятно. Готовых целочисленных реализаций просто море. 2. Смешение в одном коде float и double вызывает ощущение шизофрении. 3. Регулярное использование автоматического приведения типов - за это надо расстреливать. 4. Лишние вызовы функций и проч - это уже просто мелочи на фоне сказанного выше. Результат - этот говнокод на процах без аппаратной поддержки плавучки будет работать на порядок медленнее, чем с плавучкой. И если есть немало мест, где даже софтовая плавучка оправдана, то здесь она появилась либо вследствие лоботомии менеджера проекта, либо в результате злого умысла.