タグ

ブックマーク / yone64.wordpress.com (1)

  • C#と末尾再帰と末尾最適化

    実践 F# 関数型プログラミング入門で「末尾再帰」とか「末尾最適化」というものを知りました。 作者様のブログによると、C#には末尾最適化はないそうだ。 よく訓練された C# 使いならばご存じの通り、C# に末尾最適化はない。より正確に言い換えるなら、C# 4.0 コンパイラは ‘tail.’ プリフィックスを付与しない。このことによって、C# プログラミングにおいては、再帰はおよそ避けるべきものとして認識されている。 http://igeta.cocolog-nifty.com/blog/2011/02/tailcall.html でも、x64版だと末尾最適化が行われるよと聞いたのと、ちょっと気になる書き方をしているので調べてみました。 とりあえず、普通の再帰 class Program { public static void Main(string[] args) { Console.

    C#と末尾再帰と末尾最適化
  • 1