Я пишу научную программу на Python и C с некоторыми сложными алгоритмами физического моделирования. После реализации алгоритма я обнаружил, что существует множество возможных оптимизаций для повышения производительности. Обычные - это предварительные вычисления, получение вычислений вне цикла, замена простых матричных алгоритмов более сложными и другими. Но возникает проблема. Неоптимизированный алгоритм намного медленнее, но его логика и связь с теорией выглядят намного понятнее и понятнее. Кроме того, сложнее расширить и модифицировать оптимизированный алгоритм.
Итак, вопрос в том, какие методы следует использовать для обеспечения удобочитаемости при одновременном повышении производительности? Теперь я стараюсь держать как быстрые, так и четкие ветки и развивать их параллельно, но, может быть, есть лучшие методы?