タグ: Python
「Python」に関係するログが 9 本あります。
-
x64 エミュレーションでどれだけ遅くなるか、同じ Python 3.12.10 で測った(SHA-256 だけ逆転した)
同一ビルドの Python 3.12.10 を ARM64 版と x64 版で用意し、8種類の処理を比べた。整数ループは1.56倍、平方根は2.21倍まで遅くなる一方、SHA-256 はエミュレーション側が1.35倍速いという逆転が出た。
-
同じループを Python と Node で回したら5倍差がついた(ARM64 Windows 実測)
1000万回の加算を Python と Node で回したところ、中央値で934.5ms 対 185.9ms になった。どちらも ARM64 ネイティブで、エミュレーションは挟まっていない。
-
pip install が ARM64 Windows で通るか、主要20パッケージを実際に試した
win_arm64 の wheel があるかどうかを20パッケージで実測した。18本は問題なく取得でき、tiktoken と pyarrow の2本だけが No matching distribution found で落ちた。
-
orjson 3.10.15 だけが ARM64 Windows でビルド失敗した
httpx、rich、pydantic は入ったが、orjson 3.10.15 だけが113.28秒後に失敗した。win_arm64 wheel が無く、Rust ビルドで止まった記録。
-
matplotlib.pyplot の import だけで 963.8ms かかった話
主要な Python パッケージ 13 個を import するだけのプロセスで測ると、matplotlib.pyplot は963.8ms、pandas は829.5ms だった。
-
json.loads が 105.3ms、正規表現 compile 差が小さかった話
Python 3.12.10 の標準ライブラリで 50,000 件の JSON と 20,000 行のログを測った。json.loads は105.3ms、compile 済み正規表現は7.51msだった。
-
zlib レベル6が102.7 MB/sで圧縮率110.28倍だった
同じ入力で zlib / bz2 / lzma を測った。zlib-6 は102.7 MB/sで110.28倍、lzma は1030.73倍まで縮むが、入力の作り方が失敗だった。
-
hashlib の blake2b が 615 MB/s、sha256 が 145 MB/s だった
64MB のランダムデータを hashlib で測ると、blake2b は615 MB/sで最速、sha256 は145 MB/sで最遅だった。OpenSSL の暗号拡張まわりを疑いたくなる結果になった。
-
Snapdragon X Elite 12 worker は8 workerより遅かった
ProcessPoolExecutorで3000000回の整数ループをworkerごとに回すと、8 workerと10 workerが37.26Mopsで並び、12 workerは34.25Mopsへ落ちた。