pyenvをアップデートしたら3.11が追加されていました。
$ pyenv update
$ pyenv -v
pyenv 2.3.6
$ pyenv install --list | grep " 3.1[0-9]"
3.10.0
3.10-dev
3.10.1
3.10.2
3.10.3
3.10.4
3.10.5
3.10.6
3.10.7
3.10.8
3.11.0
3.11-dev
3.12.0a1
3.12-dev
早速インストールしてデフォルトにしました。
$ pyenv install 3.11.0
$ pyenv global 3.11.0
$ pyenv rehash
$ pyenv versions
system
3.10.7
* 3.11.0 (set by /Users/k.abe/.pyenv/version)
高速化が気になったのでクラスメソッドさんの記事を参考にパフォーマンスを測ってみました。参考にしたブログはこちらです。
コードも参考にさせてもらいました。
fb.py
import sys
def fb(n):
if n == 0 or n == 1:
return n
else:
return fb(n - 2) + fb(n - 1)
print(fb(int(sys.argv[1])))
さっそく自分のPCで測定してみます。
こんな寂しいスペックですが😭
- MacBook Pro
- チップ Apple M1
- メモリ 16G
- macOS Ventura 13.0
まずは、python 3.10で測定しました。
$ pyenv global 3.10.7
$ pyenb rehash
$ time python fb.py 40
23.08s user
0.04s system
99% cpu
23.204 total
つづいて、python 3.11で測定しました。
$ pyenv global 3.11.0
$ pyenb rehash
$ time python fb.py 40
12.39s user
0.03s system
99% cpu
12.488 total
自分のPCでも23.2秒から12.5秒になり、2倍ぐらい早くなってるのでこれはうれしい。
ググルとpyperformanceで検証した結果など公開されますね。
参考文献