2

実行に何十ものファイルが含まれる大規模な (4.5 GB コードベース) Python テスト フレームワークを考えると、その多くは直接 pickle 可能ではありません。プログラムの初期実行を 1 行の関数でラップし、スタックレス タスクレットを作成することは可能ですか?その関数を実行し、実行中にプログラム全体の状態を保存する方法としてタスクレットをピクルしますか? Stackless の tasklet pickling 機能の限界は何ですか?

4

2 に答える 2

2

これは確かにStackless Picklingによって提供される可能性です。

Stackless の主な機能の 1 つは、タスクレットをピクルおよびアンピクルする機能です。これは、タスクレット内で実行中のプログラムを、ファイルまたは文字列に永続的に保存できることを意味します。後で再び復元して、以前に停止した時点で実行を継続できます。これは同じマシン上にある必要はありません!:

したがって、「それは可能ですか」という私たちの質問に対する答えは「はい」です。

「やり方」の問題としては、上のリンクが具体例だと思います。試してみて、うまくいかない場合は別の質問を投稿してください。コード ベースのサイズ (4.5 GB の Pythonソースファイルはかなり巨大です!) を考えると、Stackless の限界に達するのではないでしょうか?

于 2013-06-26T06:22:10.080 に答える