Я говорю все следующее не потому, что я думаю, что вы этого еще не знаете, а для того, чтобы оказать моральную поддержку, пока вы подавляете своего внутреннего критика: -)
Ключ в том, чтобы сохранить здравомыслие.
Если вы обнаружите, что пишете алгоритм Theta (N!), Который, как ожидается, будет масштабироваться, то вы с ума сошли. Вам придется выбросить его, так что вы можете начать поиск лучшего алгоритма, который вы могли бы использовать.
Если вы беспокоитесь о том, займет ли часть кода Pentium, который выполняется точно один раз за нажатие клавиши пользователем, 10 или 10 Кбайт, то вы с ума сошли. Процессор простаивает на 95%. Дайте ему десять тысяч жалких циклов. Поднимите билет улучшения, если нужно, но медленно отойдите от ассемблера.
Однажды нужно решить, является ли проект «написать исследовательский прототип, а затем превратить его в реальный продукт» или «написать исследовательский прототип». С очевидным ожиданием, что, если исследование будет успешным, в будущем появится еще один связанный проект.
В последнем случае (который из комментариев звучит как то, что у вас есть) вы можете позволить себе написать что-то, что работает только для N <= 7 и даже тогда приводит к отключениям отсюда в Цинциннати. Это все еще то, что ты не был уверен, что сможешь сделать. Как только вы почувствуете проблему, у вас будет лучшее представление о проблемах производительности. </p>
То, что вы делаете, - это установление баланса между тратой времени сейчас (исходя из соображений, что ваши исследования оказываются неуместными) с потерей времени позже (потому что вы не рассматривали то, что сейчас важно). Чем более рискованно ваше исследование, тем больше вы должны быть счастливы просто сделать что-то и переживать за то, что сделали позже.