- 1 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 09:54:14 ]
- コンパイラ性能、コンパイルオプション、コードの最適化などについて語りましょう。
主に速度面の最適化を中心としますが、サイズなどの最適化もどうぞ。 なお、OS、CPU、コンパイラなどは限定しません 前スレ C、C++の最適化について語るスレ pc11.2ch.net/test/read.cgi/tech/1084676298/
- 159 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 14:39:57 ]
- >>158
大丈夫、そんなもんは真っ先にコンパイラの最適化の餌食になるから。 それ以前に、ポインタで回すよりも配列参照で回す方が速いかも知れない。 いずれにしても、ケース・バイ・ケースだから実測するべし。
- 160 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 14:41:04 ]
- ♪ ∧,, ∧ ♪
♪ ∧,, ∧´・ω・) 美脚♪ ∧,, ∧´・ω・) ) ♪∧,, ∧´・ω・) )っ__フ ♪ ∧,, ∧ ∧,, ∧´・ω・) )っ__フ(_/ 彡 .∧,, ∧ ) (´・ω・) )っ__フ(_/彡 ∧,, ∧ ) ) (っ )っ__フ(_/彡 .∧,, ∧ ) ) Οノ ( __フ(_/彡 ∧,, ∧ ) ) Οノ ヽ_) (_/彡 ( ) ) Οノ 'ヽ_) ( ) Οノ 'ヽ_) (ゝ. Οノ 'ヽ_) ♪ ♪ ミ ヽ_)
- 161 名前:158 mailto:sage [2007/10/06(土) 15:01:50 ]
- >>159
なるほど。コンパイラに頼れそうですね。 配列については任意の位置に追加、削除等の関係から使えませんでした。 ありがとうございました。
- 162 名前:poooh ◆manko/yek. mailto:sage [2007/10/06(土) 16:10:39 ]
- グローバル変数は最適化に良くない。これ豆知識な。
- 163 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:34:59 ]
- グローバル変数は最適化に良い。これ豆知識な。
- 164 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:54:04 ]
- 確かに、既存ソフトの高速化の仕事をしていると、グローバル変数があったら狙い目だとは思うけどね。
- 165 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 18:27:36 ]
- >>164
高速化の仕事ってどんな感じなの? 今の職場では高速化の効果が工数の割に合わないと言われることが多くて バグ改修時についでに高速化する程度しかやらせて貰えない。 既存機能を維持しつつどうやって安全に高速化してるの? グローバル変数触るなら単体テストだけじゃ足りないよね?
- 166 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 20:10:46 ]
- 既存機能を維持しないでどうやって危険に高速化してるの?
そんなんだからやらせて貰えないんだぜw?
- 167 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 20:12:21 ]
- 単体テストで完全に見えるスコープで、グローバル使いまくる馬鹿は沢山いる
- 168 名前:164 mailto:sage [2007/10/06(土) 21:00:33 ]
- 高速化で受ける業務はソースで引き渡しだから、コード解析結果と単体テスト結果しか出さない罠。
- 169 名前:165 mailto:sage [2007/10/06(土) 21:36:19 ]
- >>168
高速化で受けた業務なら性能試験はやるんじゃないの? 単体テストしかしないなら関数単位の高速化なのかな? ライブラリ系? 参考までに、使ってる測定ツールとか教えてくれないかな。 それにしても、コード解析結果と単体テスト結果で話がつくとはな。 俺んとこだと結合試験と性能試験やらずに改修完了なんてまず了承されないよ。
- 170 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 21:53:07 ]
- そりゃぁ、「何」で金取っているかの違いだろ。
依頼主だって全部の環境晒せるような物ばかりとは限らんわけだし。
- 171 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 22:17:43 ]
- 結合と性試験やらずに
- 172 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 21:26:42 ]
- 単体テスト=手淫
- 173 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 07:30:27 ]
- ♪ ∧,, ∧ ♪
♪ ∧,, ∧´・ω・) 美脚♪ ∧,, ∧´・ω・) ) ♪∧,, ∧´・ω・) )っ__フ ♪ ∧,, ∧ ∧,, ∧´・ω・) )っ__フ(_/ 彡 .∧,, ∧ ) (´・ω・) )っ__フ(_/彡 ∧,, ∧ ) ) (っ )っ__フ(_/彡 .∧,, ∧ ) ) Οノ ( __フ(_/彡 ∧,, ∧ ) ) Οノ ヽ_) (_/彡 ( ) ) Οノ 'ヽ_) ( ) Οノ 'ヽ_) (ゝ. Οノ 'ヽ_) ♪ ♪ ミ ヽ_)
- 174 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 08:10:23 ]
- for (int i=10;i--;)
{ //ループの中身 } って for (int i=0;i<10;i++) { //ループの中身 } より高速?
- 175 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 10:40:19 ]
- >>174
上の方がループの回数が多いから遅い。
- 176 名前:デフォルトの名無しさん [2007/10/17(水) 12:55:44 ]
- すみません
for (int i=0;i<9;i++) { //ループの中身 } でした
- 177 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 13:16:29 ]
- >>176
>175は間違い。>174でループ回数は同じになっている。 で、どちらも同じ速度のコードになったよ(icc -fastで)。 実測したら、後者の方が気持ち速かった。と言っても、差は10msオーダーだけど。 -- for (int i = 0x7000 * 0x10000; i--;) func(); for (int i = 0; i < 0x7000 * 0x10000; i++) func(); --
- 178 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 13:32:58 ]
- 速度は実測が基本。
- 179 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 15:04:30 ]
- >>177
ありがとう、やっぱりふつうに記述した方が、コンパイラにとってもいいようですね。
- 180 名前:・∀・)っ-くコ:彡- mailto:sage [2007/10/18(木) 00:31:08 ]
- forよりdo-whileが速い。
まあ自動で最適化してくれるけど
- 181 名前:デフォルトの名無しさん [2007/10/18(木) 10:54:47 ]
- /*1*/
for (i = 0; i < n; i++) これと、誘導変数を使った /*2*/ for (ii = -n; ii < 0; ii++) i = n + ii; それぞれについて、生成コードを予想 また実際の処理系に生成させたコードを評価せよ (n点)
- 182 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 12:17:32 ]
- 変数の型が分からないと予想できねえよ。
- 183 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 12:38:28 ]
- nは正数?
- 184 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 12:41:36 ]
- クラスかもな。
- 185 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 13:05:00 ]
- 宿題?
- 186 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 13:39:29 ]
- 実行コストについてはダウンカウンタと大差ない感じ。
こりゃ使える。いただき。 a[i]みたいにiをインデックスで使う場面では a[n+ii]に対して&a[n]==a+nがループ内不変になるね。 つかiは符号付き整数だろw で、おれ何点?
- 187 名前:519 mailto:sage [2007/10/18(木) 13:41:59 ]
- for文の中身は?変数がintだとすると
for (i = 0; i < n; i++); は i=n; という式に展開される可能性がある。 for (ii = -n; ii < 0; ii++) i = n + ii; もnが定数ならば定数代入式に展開される可能性がある。 ていう最適化機能がgccにあったような…?記憶違い?
- 188 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 16:04:41 ]
- 空ループの話で盛り上がって 参りました
- 189 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 16:18:58 ]
- 全然
- 190 名前:デフォルトの名無しさん [2007/10/19(金) 09:21:06 ]
- 乱数が100個必要だとして、単にループで100回乱数を発生させるのではなく、
1つの乱数から、分割するなどして100個効率よく発生させることはできないでしょうか?
- 191 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 09:28:51 ]
- 分割って何?
並列化するってこと? 100個乱数拾うだけならたいした変化は無いと思われ
- 192 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 09:43:07 ]
- 使い道や欲しい乱数の範囲など具体的に
- 193 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 12:21:09 ]
- MTなら実装によっては624個の乱数が一度に得られる
でも内部的にはループだしな
- 194 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 18:51:21 ]
- >>190
64bitの乱数があったとしてそれをそれを8bit区切りに4つに分けて 8bitの乱数4つとして使えるかってこと? 乱数の質は悪くなると思うけど、どうだろ?
- 195 名前:190 mailto:sage [2007/10/20(土) 05:36:18 ]
- 用途はモンテカルロシミュレーションです。
現在はMTを使っています。 計算精度は32bitのfloatでやっているのですが、乱数は64bitのdoubleなので、 それを単純に上位と下位に分けて、一回で2回分使えないかと考えています。 もうひとつ考えているのは、64bitで生成された乱数を、ローテートで1bitずつずらして 一回のMTで64個の乱数が生成できないかということです。 ただ、この場合、乱数の質が元のMTに対してどのようになってくるのかがわかりません。
- 196 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 05:45:19 ]
- MTやめてXorShift使うとか
- 197 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 06:46:44 ]
- >>195
少なくとも2番目の方法はいくない。 例えば一番左のビットが0の場合、左にローテートしたら元の数の2倍になる。 つまり64個の乱数の中に、大量のaとa*2が入り込む非常に膣の悪い乱数になるよ。
- 198 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 07:42:54 ]
- >膣の悪い乱数
乱れすぎw
- 199 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 08:45:07 ]
- >>195
最初の方法もダメ。 MTのdoubleは基本的に仮数部32bitなので分割した下の方は精度が腐る。 仮数部53bitの方は乱数を2個使っているし。
- 200 名前:190 [2007/10/20(土) 10:15:36 ]
- 皆さんありがとうございます。
とりあえず、2^128-1周期のXorShiftを使ってみようと思います。 ところでXorShiftのseedのとり方ですが、オリジナルの文献では x=123456789,y=362436069,z=521288629,w=88675123; となっていますが、たとえば、x=1,y=2,z=3,w=4;とすると最初の 数十個は 2061 6175 4 8224 4194381 8396986 8388750 25174430 8652983179 25875070649 8636205711 60369541016 17600805477257 35210146488062 52785194351115 70428979519260 36239912164446735 ように非常に悪い乱数系列になってしまいます。 最初の数百個を捨てればよいのかもしれませんが、seedの選び方には何か決まりがあるのでしょうか?
- 201 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 13:19:11 ]
- >>190
sineくれくれ厨
- 202 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 14:14:15 ]
- お前がsine
- 203 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 15:24:11 ]
- >>200
質が悪いって言うけど、どの一部を取り出してもそういった偏りが全く無いほうが質が悪いでしょ。 固定の種にしたいなら好きなだけ選びなよ。
- 204 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 15:28:19 ]
- つーか擬似乱数スレでやれよ
- 205 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 15:58:23 ]
- sine、cosine
- 206 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 17:18:59 ]
- tangent
- 207 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 19:44:18 ]
- cosecant
- 208 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 00:53:23 ]
- 俺には >>200 の乱数列のどこが質が悪いのか分からん
誰か説明してくれ
- 209 名前:デフォルトの名無しさん [2007/10/21(日) 12:35:59 ]
- >>208
このスレは馬鹿なお前のためにあるんじゃない
- 210 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 19:33:52 ]
- >>200
乱数の種で複数の値とるとき 互いに素ってのと2の累乗を自分は使わないようにしているけど… 根拠がない。それに小さすぎる値も使わないようにしている。(1とか2とか…)
- 211 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 01:51:46 ]
- >>200
void srand_xor128(void){ w^=(unsigned)time(0)*1812433253; } とかwだけ変更すればたぶんおk。心配なら最初の十万個位捨てたら。
- 212 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 04:00:14 ]
- PSP用ゲームのVCとGCCの両用ソースなんですが
関数内でstaticな配列を使ってはならないという社内ルールが付けられているんですが 理由わかります? void hoge() { static const int array[100] = { 123, 456, 789, 123, 456, 789, }; ,,,, } このようなstaticは駄目で const int array[100] = { 123, 456, 789, 123, 456, 789, }; にしろということなのです。 メモリが厳しいらしいのですが、これで本当に節約になるんでしょうか。
- 213 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 04:34:13 ]
- >>212
実際にコンパイルしてアセンブリ出力を眺めてみれば? 前者は静的領域に確保されることが保障されていて消えることは多分ないが、 後者は最適化で消える可能性がある。 しかし、後者は静的領域からスタックにコピーする最悪なコードになるかもしれない。 それはさておき、100要素指定しておいて6個しかないと激しく無駄だと思う。
- 214 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 04:36:44 ]
- >>212
メモリの節約にはならないだろう。 一般的な実装を予測すると、 static をはずしてもスタックに確保された配列を 初期化するためのコピー元となる配列が作られてしまう。この初期値の配列が static をつけた場合に確保される実体と同等のはずなので、 static をはずすと スタックの領域と初期化用コピーの処理時間が余計に増えるだけになる。 動作上の違いは、再帰呼び出ししたときに配列のアドレスが別物になるかどうか、 という点しかないはず。 はっきり言って逆効果だろう。そのルール決めた人に理由を問い詰めたほうがいい。 非 const な変数に限ってローカル static を禁止するのなら、メンテナンス性の観点から まだ理解できる。
- 215 名前:デフォルトの名無しさん [2007/11/07(水) 04:56:45 ]
- 次に静的記憶域期間(static)です。
こちらは宣言されている場所にかかわらずプログラムの開始直前にメモリを確 保し初期化します。初期化を忘れた場合値は0になります。 また、確保された領域はプログラムが終了するまで保持されるので関数の終了 時に値が消えることがありません。2回目以降関数内のstaticオブジェクトを 利用するときは前回の値から始まります。
- 216 名前:デフォルトの名無しさん [2007/11/07(水) 05:00:13 ]
- もっとも時間食っているところ、メモリ食っているところを押さえればよい
あとはいちいち細かいモジュールに制限加えることはない
- 217 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 10:01:37 ]
- >>212
逆(実際はstatic推奨)か、厳しいのはスタックか。
- 218 名前:デフォルトの名無しさん [2007/11/07(水) 10:40:48 ]
- 400バイトくらいで厳しいのかよ
2M = 2000000バイトくらいは使用できるんだろ? 400を繰り返し使ってメモリリークするとかなら 考慮するひつようあるだろうけど使用後に解放されるなら他のプログラムに影響しないと思うが 500K = 500000バイトくらい使うところから節約しろよ
- 219 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 10:54:42 ]
-
for (int i=0;i<100;i++) a[i]=b[i]*xx; だと問題なくベクトル化されるのですが for (int i=0;i<100;i++) a[i]=a[i]*xx; だと remark: loop was not vectorized: dereference too complex. となってベクトル化されません。 自分自身が式の中に入っているとベクトル化できないのでしょうか? コンパイラはicc ver 10で、OSはFedora 7です。
- 220 名前:デフォルトの名無しさん [2007/11/07(水) 11:05:35 ]
- ベクトル化がわからない
配列に掛け算できないならコンパイラが壊れている
- 221 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 11:08:34 ]
- >>219
非常にシンプルなサンプルを作って試したら、どちらのケースもベクタ化できるようだよ。 配列aが何か特殊なことになってないかい? 再現できるソースは貼れないかな?
- 222 名前:212 mailto:sage [2007/11/07(水) 20:11:28 ]
- ありがとうございました。
私は開発機でコンパイルする権限も無い下っ端なのですが、 腑に落ちなかったモヤモヤが少し晴れました。
- 223 名前:デフォルトの名無しさん [2007/11/10(土) 05:11:33 ]
- ループを200回くらい繰り返すとき、全部展開しておいた方が速いですか
インライン展開とかも出来て あと、1万回するときに100回と100個展開した方が良いですか?
- 224 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 05:14:18 ]
- >>223
余計なことせずにコンパイラに全て任せるのが正解だ。
- 225 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 05:17:58 ]
- 基本がなってない奴は気にするだけ無駄
- 226 名前:デフォルトの名無しさん [2007/11/10(土) 06:01:10 ]
- 誰かいませんか!
助けてください!!
- 227 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 06:04:49 ]
- どうしたの
- 228 名前:デフォルトの名無しさん [2007/11/10(土) 06:08:40 ]
- スレ違いかもしれませんが
C言語の宿題がわからなくてこまってます! 明日ってか今日までなんです〜 一緒に考えてくれる人いませんか? お願い助けて〜
- 229 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 06:28:53 ]
- 宿題スレで聞けば?
って既にマルチしてるな。
- 230 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 17:18:26 ]
- staticだとスレッドセーフじゃなくなるよね?
- 231 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 17:20:17 ]
- 場合による
- 232 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:43:45 ]
- >>230
読み込みのみなら気にしなくていい 書き込みが絡む場合はスレッドセーフではない 手軽にスレッドセーフにしてくれる拡張構文も最近はあったりする (スレッドローカルストレージ)
- 233 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 08:05:03 ]
- >>232
初期化のときに問題にならない?
- 234 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 08:42:09 ]
- static変数の初期化より先にどこかでスレッド走らせ始めるつもりか
- 235 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 10:03:36 ]
- お前ら Binary Hacks の Hack 37 読むといいですよ
- 236 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 11:48:44 ]
- 今日Binary Hacks買ってきたにょー
予定つまってて2週間ほど読めないけど…
- 237 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 12:42:42 ]
- Linux系の本だと思ってスルーしてたけど、Windowsプログラミングにはどう?
- 238 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:04:29 ]
- かったはいいがぱらぱらめくっただけな自分は
やはりLinuxの本という印象。 Windowsしかまともに開発してないから あんまり楽しめなかった。
- 239 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:45:13 ]
- mallocダメ絶対な俺としてはスタック領域の調べ方Windows版が載ってただけで大満足
- 240 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:21:09 ]
- >>238
ありがとう。やっぱりそうか。
- 241 名前:デフォルトの名無しさん [2007/12/24(月) 08:55:43 ]
- age
- 242 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 12:22:50 ]
- newの遅さはどうしてる〜?
- 243 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 12:26:18 ]
- pool allocator使う
- 244 名前:デフォルトの名無しさん [2008/01/01(火) 19:54:17 ]
- あげ
- 245 名前:デフォルトの名無しさん [2008/01/14(月) 22:48:15 ]
- V(・∀・)V
- 246 名前:デフォルトの名無しさん [2008/01/22(火) 15:39:00 ]
- 割る2、掛ける2はシフトを使うと速い。
これ豆知識な。
- 247 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 15:52:07 ]
- 俺のCPUは割り算よりシフトの方が時間かかるんだけど
- 248 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:53:00 ]
- 最近のCPUではよくあることだな。
「1足すならaddよりincの方が速い」とかも同様。 俺の様なジジイの豆知識はほとんど役に立たん。
- 249 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:57:45 ]
- C/C++の範囲では、どっちがいいかなんてコンパイラの最適化に任せるのが正解。
- 250 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:22:31 ]
- いや、それを言っちゃうとこのスレ終わっちゃう。
つうか、だから伸びないんだなorz VCの吐くコードとか見てると感動するけど、時々「?」と感じるときがあるのも事実。 そういうのを減らすための豆知識とか、誰か披露してくれまいか。
- 251 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:51:09 ]
- それじゃ、「?」と感じたものを挙げてみてくれ。可能な限り、説明しようじゃないか。
- 252 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:23:21 ]
- inc は使うなというのは正式な資料に書いてあるが
>俺のCPUは割り算よりシフトの方が時間かかるんだけど こういうCPUは寡聞にして知らない.教えてくれないか?
- 253 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:27:30 ]
- 割り算は普通遅いからね。
- 254 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:34:13 ]
- 定数の乗除は最適化してくれるんじゃないの?
- 255 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:42:07 ]
- CPU はって言ってるからには
アセンブリで比較してると信じたいのだが・・・ C でやってる悪寒
- 256 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 22:18:22 ]
- まあ、バレルシフタ持ってない CPU だと、それなりに時間かかるからな。
3ビットのシフトの方が÷2より時間がかかる と言う詭弁は可能かと。
- 257 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 03:30:02 ]
- 割り算を逆数近似で計算してればあり得る?
まともな割り算は必ずシフタ使うから普通はないが.
- 258 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 14:02:42 ]
- デバッグで実行しての実測なんて意味がない、ただただ使う側のPCスペックと環境だけ
- 259 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:54:31 ]
- 何の話だ?
|

|