>>Правило 2: Измерение. Не оптимизируйте скорость до тех пор, пока её не измерите, Подождите, уважаемый минона, а разве я вообще утверждал что скорость надо оптимизировать любой ценой даже если ее и так хватает с запасом? Строго говоря весь этот тред в основном про оптимизацию *размера* программы. Путем фокусов с линкером. При том фокусы потенциально грабельные, да. Но они позволят понять как работает линкер, как компилер генерячит программу, из каких кирпичиков она собирается и потом можно с этим играться в :)
>и даже если вы проверили какую-то часть кода с узким местом, проверьте остальные.
Опять же, повторяю, блин: оптимизция скорости и размера - разные сущности, зачастую противоположные по смыслу.
>стабильной работы, только потом оптимизируйте.
Все так, тем не менее, грамотно сархитектив и заранее вычислив очевидные потенциальные грабли - можно сильно скостить себе фазу траха с оптимизацией, или вообще от нее избавиться, ага?
>более того, ранняя оптимизация - действительно зло для универсальности решений.
Вполне соглашусь с этим - раньше для скорости писали на асме. Ну хоть те же VxD драйвера. И кому они теперь нужны? Правильно, 0xDEADC0DE :)
>лучше оптимизировать готовый код для сборки на конкретной платформе,
>чем заранее залочить себя только на одной из них и потом через костыли и
>грабли добиваться стандартов типа POSIX
Сильно зависит от. Подгонять какойнить код писанный допустим без учета специфики embedded под особенности оного - может быть достаточно непростым и грабельным начинанием. Скажем как делать POSIX вызовы если ФС в девайсе вообще нету?И куда они должны отправиться? :)