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