プロファイラーを使う方法があるが、 けっこう大味なので、自分は自作のストップウォッチコードを書いて、1行1行 ミリ秒単位で測定してから大きなボトルネックのチューニングを行い。それからマイクロ秒単位で測定して、ボトルネックのコードを修正して行きます。
コードの見やすさと、プログラムの効率はトレードオフの関係です。
たとえば、プログラムを部品のように扱っている箇所を、1つ1つの処理に分解にすると、パソコンは、解釈する手間が省けて処理が早くなるからです。
だから、実際のコードは、展開されていたとしても、保守するコードはシンプルにしたいので、 コードを生成する保守用プロジェクトと、サーバにデプロイする実行用プロジェクトに分割するやり方が両立するやり方なのだろうと思います。