なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net (914レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
208: 2015/12/23(水)08:59 ID:r+tlUph/(1/4) AAS
名前解決まで計算時間に含めるなら
もう再帰云々じゃなくて長大な再帰なしの一つの関数で全部こなせって話になるんだがな

>>207
いや、そうはならない。
レジスタの退避が必要になるから、自己再帰するならどっちにしても同じだけpush/popは必要になる。
最適化が掛かったらその限りじゃないけど。
212: 2015/12/23(水)09:50 ID:r+tlUph/(2/4) AAS
>>210
再帰で書いた何の変哲もないフィボナッチ関数をビルドしたケースを示すよ
外部リンク:gist.github.com
gccではr12を、clangではraxを、rbp/rbxの他に退避してるのが分かる。
214: 2015/12/23(水)11:25 ID:r+tlUph/(3/4) AAS
そんな事をすると
既に退避させてある値を別なレジスタに退避させてから、退避させたい値を退避するコードを吐く羽目になるけど
レジスタが最低でも加算無限個無いと出来ないからね。仕方ないね。
216: 2015/12/23(水)12:07 ID:r+tlUph/(4/4) AAS
>>215
いつの時代の話をしてるのか分からんのだけど、所謂Intel系の64bit環境(amd64)だとレジスタ渡しがデフォルトだよ。
外部リンク:en.wikipedia.org
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s