[過去ログ]
FreeBSDを語れ Part49 (1002レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
133
(3)
: 2019/09/13(金)19:57
AA×
>>130
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
133: [sage] 2019/09/13(金) 19:57:49.49 >>130 Cなら if ( checkfunc( func ) ) ... と1行で書けるから大したことなさそうに見えるけど、これをアセンブラで書くと、 汎用レジスタ全部退避して、戻りアドレス設定して、新しいスタックポインタ設定して、 チェック処理を実行して、戻る直前に汎用レジスタ全部戻してリターンするので、 毎回こんだけの処理させてわざわざ遅くするのが嫌になるんだよね。 全レジスタの退避と復帰を毎回実行させるのってほんとに無駄に感じる。 本当は、破壊されてもいいレジスタは関数ごとに異なるはずなので、破壊されて困るレジスタだけ退避 するようにすれば最適化されていいんだけど、そうするとどこかを書き換えたとき、元に戻さないといけない レジスタができて、それの退避を忘れただけで吹っ飛ぶ。 http://mevius.5ch.net/test/read.cgi/unix/1567770470/133
なら と行で書けるから大したことなさそうに見えるけどこれをアセンブラで書くと 汎用レジスタ全部退避して戻りアドレス設定して新しいスタックポインタ設定して チェック処理を実行して戻る直前に汎用レジスタ全部戻してリターンするので 毎回こんだけの処理させてわざわざ遅くするのが嫌になるんだよね 全レジスタの退避と復帰を毎回実行させるのってほんとに無駄に感じる 本当は破壊されてもいいレジスタは関数ごとに異なるはずなので破壊されて困るレジスタだけ退避 するようにすれば最適化されていいんだけどそうするとどこかを書き換えたとき元に戻さないといけない レジスタができてそれの退避を忘れただけで吹っ飛ぶ
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 869 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.027s