回答編集履歴

1

表現や編集ミスの修正

2024/07/14 14:27

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,6 @@
1
1
  # 回答ではありません
2
2
 
3
- 何のコードも書かずにこの手の質問をする人にロクな人いないと思うのですが、回答する方もいるので、一応書いておきます。pandas/polars辺りは書き方で大きく処理時間違うのは他の方のとおりです。速度は書き方もあるけど、処理内容でボトルネックになる部分も違います。ざっくり言えばpythonだとCPUバウンドな処理はGILのため複数スレッドが遅くなるし、プロセスで分けるとそのオーバーヘッドはスレッドより大きいので並列処理が苦手です(numpyとかはnativeで無理をしたりもする)。
3
+ 何のコードも書かずにこの手の質問をする人にロクな人いないと思うのですが、回答する方もいるので、一応書いておきます。pandas/polars辺りは書き方で大きく処理時間違うのは他の方のおっしゃるとおりです。速度は書き方もあるけど、処理内容でボトルネックになる部分も違います。ざっくり言えばpythonだとCPUバウンドな処理はGILのため複数スレッドが遅くなるし、プロセスで分けるとそのオーバーヘッドはスレッドより大きいので並列処理が苦手です(numpyとかはnativeで無理をしたりもする)。
4
4
 
5
5
  一口にpythonと言っても、CPython以外の処理系がいくつかあり、それによっても速度(と機能)が違います。例えば
6
6
 
@@ -18,8 +18,6 @@
18
18
 
19
19
  こんなゴミみたいなコードを、Linux上で走らせたとき
20
20
  ```console
21
- $ docker run -it --rm -v $(pwd):/home/python -w /home/python python bash -c 'echo 100000000 | python hoge.py'
22
- result=1,time=21.78108796699962
23
21
  $ docker run -it --rm -v $(pwd):/home/python -w /home/python python bash -c 'echo 100000000 | python hoge.py'
24
22
  result=1,time=21.78108796699962
25
23
  $ docker run -it --rm -v $(pwd):/home/python -w /home/python pypy bash -c 'echo 100000000 | python hoge.py'