- プログラミング言語 Rust
388 :デフォルトの名無しさん[sage]:2015/08/14(金) 17:04:46.99 ID:mJ5T1H4E - 最適化といってもコンパイラができる最適化には限りがあるよ。
例えばサイズnのスライスに対してある特定の処理を書くとしたら、 slice.iter().map(|x| { f(x) }) とか書くじゃん。遅延処理になるから、その後枝刈りができる可能性はあるけど、基本的にn回処理しなきゃならない。 頭のおかしい人が&[u8]とf(x)の中身を見て、&[u64]にしてf(x)を変形させて処理がn/8回で済むアルゴリズムを考えたとき、 そいつをコンパイラに伝える方法があるようには思えない。特にf(x)の中身を見ないといけない部分が難しい。 rustでスマートに書けるところは多いけど、速度が問題になるジャンルでは簡潔さを捨てても取るべきものがある、と思う。
|
|