回答編集履歴
2
説明を少し追加しました
test
CHANGED
@@ -16,11 +16,11 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
sliceの作成はファットポインタ(fat pointer)と呼ばれる軽量なデータ構造を作るだけですので、非常に軽い処理になります。ファットポインタの内容は、1) データの先頭アドレスを指すポインタ(64ビット環境なら8バイト)と、2) データの長さ(要素数)を示す`usize`値 だけです。
|
19
|
+
sliceの作成はファットポインタ(fat pointer)と呼ばれる軽量なデータ構造を作るだけですので、非常に軽い処理になります。ファットポインタの内容は、1) データの先頭アドレスを指すポインタ(64ビット環境なら8バイト)と、2) データの長さ(要素数)を示す`usize`値 だけです。ですから遅いことはまず考えられません。
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
正しく計測するのは結構大変なので、そのような作業はお勧めしません。私がやるときはコンパイル後のアセンブリコードが期待通りになるまでRustコードを修正しながら試行錯誤する感じです。コマンドラインからの入力を元に配列を作成して、その配列を使った計算結果を出力するようにすると大体うまくいきます。([参考](https://qiita.com/tatsuya6502/items/7ffc623fc60be0220409#寄り道コンパイラの最適化による-simd-化を体験))
|
23
|
+
そのことをベンチマークで正しく計測するのは結構大変なので、そのような作業はお勧めしません。私がやるときはコンパイル後のアセンブリコードが期待通りになるまでRustコードを修正しながら試行錯誤する感じです。コマンドラインからの入力を元に配列を作成して、その配列を使った計算結果を出力するようにすると大体うまくいきます。([参考](https://qiita.com/tatsuya6502/items/7ffc623fc60be0220409#寄り道コンパイラの最適化による-simd-化を体験))
|
24
24
|
|
25
25
|
|
26
26
|
|
1
軽微な修正
test
CHANGED
@@ -20,11 +20,11 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
正しく計測するのは結構大変なので、そのような作業はお勧めしません。私がやるときはコンパイル後のアセンブリコードが期待通りになるまでRustコードを修正しながら試行錯誤する感じです。コマンドラインからの入力を元に配列を作成して、その配列を使った計算結果を出力するようにすると
|
23
|
+
正しく計測するのは結構大変なので、そのような作業はお勧めしません。私がやるときはコンパイル後のアセンブリコードが期待通りになるまでRustコードを修正しながら試行錯誤する感じです。コマンドラインからの入力を元に配列を作成して、その配列を使った計算結果を出力するようにすると大体うまくいきます。([参考](https://qiita.com/tatsuya6502/items/7ffc623fc60be0220409#寄り道コンパイラの最適化による-simd-化を体験))
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
あと、余談ですが上のCompiler Explorerのページですが、コードの保存期限とかがあって見られなくなるかもしれません(いままでこのサイトでコードを共有したことがないので、よくわかってません) 一応、使い方を説明しておきます。
|
27
|
+
あと、余談ですが上のCompiler Explorerのリンク先のページですが、コードの保存期限とかがあって見られなくなるかもしれません(いままでこのサイトでコードを共有したことがないので、よくわかってません) 一応、使い方を説明しておきます。
|
28
28
|
|
29
29
|
|
30
30
|
|