ループを使用してwhile True
ループごとにリストに追加し、反復するたびにリスト全体について計算しています。1.1x の係数でリストに新しいものを追加しているので、最初のリストの長さが 10 の場合、最初の繰り返しの後は 11 になります。
計算部分は基本的に数字が通るif-else迷路で、リスト内の他の数字については変化したり新しいものが追加されたりします。関数呼び出しはそれほど多くありません。すべてのコードを同じ関数にまとめてみました。
これはコアコードです:
...variables to record data
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
while True:
for item in a_list:
...calculate things
...compare things
...add new things to list
...store data in another list/file
この関数をより速く実行するための最良の方法は何ですか?
TLDR: 1 つの関数があり、それを複数のスレッド/プロセスで実行して高速化したいと考えています。
編集:
また、長さが 100,000 に達したときにリストを 2 つまたは 4 つに分割し、それらのリストをそれぞれ独自のスレッドで反復処理することを考えたことにも注意する必要があります。ただし、これを実装する方法がわかりません。
EDIT2:
現在、このプログラムをバックグラウンドで実行しています。約 3 時間実行されており、イテレーション 131 で、リストの長さは 400,000 です。