В несколько более старых проектах все наши тесты были выполнены с использованием отладочной сборки, включая множество заявлений печати. Для окончательной сборки, поставленной клиенту, было решено не использовать менее протестированную розничную сборку (с использованием полных опций оптимизации gcc), поскольку это может привести к проблемам, связанным с синхронизацией (на самом деле обнаружение дефектов теперь замаскировано из-за специфических время сборки отладки), и поскольку клиент был достаточно доволен текущей скоростью работы.
В моем текущем проекте большое количество кода должно быть помещено в ПЗУ (изначально: все), а затем мы, очевидно, не хотим удалять мертвый код, так как будущие обновления, которые будут размещены в ram, могут затем все еще используют код rom, уменьшая требования к пространству в ram.
Кроме того, что было бы по умолчанию? Оптимизировать пространство или время выполнения? Не выбор - единственный правильный выбор.