はじめに
Pythonのcondaパッケージ管理でmambaというツールが高速でよいよ!という話を耳にしたので自分の勉強のためにメモしてまとめてみました。
基本的に公式Readmeの内容をベースにしているので英語が読める方は直接どうぞ!
https://github.com/mamba-org/mamba
mambaとは?
一言でいうと、"C++で実装された高速なcondaパッケージマネージャー"
大きな特徴として下記が挙げられます。
- クロスプラットフォーム対応
- マルチスレッドによるリポジトリ・パッケージの並列ダウンロード
- 最先端のライブラリ (libsolv)を使って高速に依存関係を解決
- コア部分をC++で実装
-
conda
とほぼ互換
インストール
conda install mamba -c conda-forge
condaパッケージのインストール
mamba install <インストールしたいパッケージ名> -c conda-forge
の形でインストールできます。
例:
mamba install pytorch -c conda-forge
速度比較
pytorchのインストールで、インストール時間にどの程度差があるのか比較してみました。
あくまで簡易的な比較で、キャッシュ等の影響を排除しきれていないので、あくまで参考程度でお願いします。
環境:
- WSL2
- anaconda3-2020.11
anacondaの場合
mambaの場合
結果:約28秒
※一部anacondaでインストールしたものがキャッシュされているようです..
まとめ
mambaを使うとcondaよりも高速にcondaパッケージをインストールできたようです(?)
mambaにはこの他、minicondaに相当するmicromamba
と呼ばれる実験的機能も存在します。
こちらも試してみた後にまとめてみたいと思います。
参考