質問編集履歴

3

typoの修正

2021/12/03 06:37

投稿

Yhaya
Yhaya

スコア439

test CHANGED
File without changes
test CHANGED
@@ -290,7 +290,7 @@
290
290
 
291
291
  {
292
292
 
293
- let thread_num = 32;
293
+ let thread_num = 16;
294
294
 
295
295
  let mut handles: Vec<thread::JoinHandle<()>> = Vec::new();
296
296
 

2

情報の追加

2021/12/03 06:37

投稿

Yhaya
Yhaya

スコア439

test CHANGED
File without changes
test CHANGED
@@ -423,3 +423,13 @@
423
423
 
424
424
 
425
425
  よろしくお願いいたします。
426
+
427
+
428
+
429
+ ## 参考情報
430
+
431
+
432
+
433
+ Python拡張として書いたRustコード:
434
+
435
+ https://github.com/Hayashi-Yudai/pykk

1

詳細の追記

2021/12/03 06:35

投稿

Yhaya
Yhaya

スコア439

test CHANGED
File without changes
test CHANGED
@@ -410,7 +410,15 @@
410
410
 
411
411
 
412
412
 
413
+ これらのコードで速度を比較してみました。比較した関数は,
414
+
415
+ - pyfunctionを付けてPython側で使えるようにした `imag2real` (一番上のコード)
416
+
417
+ - Rust用に書いた `imag2real` (一番下のコード)
418
+
419
+
420
+
413
- かし、実際に使ってみるのコードはPythonで使うよりも2桁ほど遅くなす(2000点のデータで3秒らいかかる)。時間を計測してみると `imag2real_helper` で全体の9割くらいの時間を使っていたことがわかったのですが、どこを改善すれば速くなるのかわかりません。
421
+ です。速度を計測ところ, Rustで使うように書いた `imag2real`が2桁ほど遅くなっていした。細かく時間を計測してみると `imag2real_helper` で全体の9割くらいの時間を使っていたことがわかったのですが、どこを改善すれば速くなるのかわかりません。
414
422
 
415
423
 
416
424