保留中のバックグラウンド処理をフラッシュする
フラッシュを行うと、保留中のバックグラウンド処理をコードの終了後まで待たずに、メインスレッドと並行して強制的に完了させることができます。 大規模なデータセットで評価を実行すると、バックグラウンドスレッドでデータセットをアップロードしている間、プログラムの実行が完了するまでに長い待ち時間が発生することがあります。これは、バックグラウンドのクリーンアップが完了する前にメインスレッドの実行が終了した場合に起こります。client.flush() を呼び出すと、すべてのバックグラウンドタスクがメインスレッドで強制的に処理されるため、メインスレッドの実行中に並列処理が行われます。ユーザーコードがデータのサーバーへのアップロードより先に完了する場合、これによりパフォーマンスが向上する可能性があります。
次の例では、評価の後に保留中のバックグラウンド処理をフラッシュします。
クライアントの並列性を高める
クライアントの並列性を高めると、データセットのアップロードなどのバックグラウンド処理に Weave が使用できるスレッドが増えます。フラッシュと併用することで、クリーンアップにかかる時間をさらに短縮できます。 Weave は環境に基づいてクライアントの並列性を自動的に決定しますが、次の環境変数を使用して手動で設定することもできます。WEAVE_CLIENT_PARALLELISM: 並列処理に使用できるスレッド数。この値を大きくすると、データセットのアップロードなどのバックグラウンドタスクのパフォーマンスが向上する場合があります。
weave.init() の settings 引数を使用して、プログラムから設定することもできます。
パフォーマンス 評価