05-2 fertig
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
from multiprocessing import Process
|
||||
from multiprocessing import Pool
|
||||
from time import time
|
||||
|
||||
start = time()
|
||||
@@ -72,8 +72,8 @@ input_file.close()
|
||||
|
||||
def find_min(seed, ra):
|
||||
min_location = - 1
|
||||
print(f"gestartet.. Seed: {seed} Range: {ra}")
|
||||
for s in range(seed, ra):
|
||||
print(f"gestartet: Seed: {seed} Range: {ra}")
|
||||
for s in range(seed, seed + ra):
|
||||
soil = find_dest(s, seed_to_soil)
|
||||
fertilizer = find_dest(soil, soil_to_fertilizer)
|
||||
water = find_dest(fertilizer, fertilizer_to_water)
|
||||
@@ -86,38 +86,23 @@ def find_min(seed, ra):
|
||||
elif location < min_location:
|
||||
min_location = location
|
||||
print(f"beendet.. Seed: {seed} Range: {ra} MinLocation: {min_location}")
|
||||
return min_location
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
p1 = Process(target=find_min, args=(seeds[0], seeds[1]))
|
||||
p2 = Process(target=find_min, args=(seeds[2], seeds[3]))
|
||||
p3 = Process(target=find_min, args=(seeds[4], seeds[5]))
|
||||
p4 = Process(target=find_min, args=(seeds[6], seeds[7]))
|
||||
p5 = Process(target=find_min, args=(seeds[8], seeds[9]))
|
||||
p6 = Process(target=find_min, args=(seeds[10], seeds[11]))
|
||||
p7 = Process(target=find_min, args=(seeds[12], seeds[13]))
|
||||
p8 = Process(target=find_min, args=(seeds[14], seeds[15]))
|
||||
p9 = Process(target=find_min, args=(seeds[16], seeds[17]))
|
||||
p10 = Process(target=find_min, args=(seeds[18], seeds[19]))
|
||||
num_processes = 10
|
||||
|
||||
p1.start()
|
||||
p2.start()
|
||||
p3.start()
|
||||
p4.start()
|
||||
p5.start()
|
||||
p6.start()
|
||||
p7.start()
|
||||
p8.start()
|
||||
p9.start()
|
||||
p10.start()
|
||||
input_data = []
|
||||
for i in range(0, len(seeds), 2):
|
||||
input_data.append((seeds[i], seeds[i+1]))
|
||||
|
||||
p1.join()
|
||||
p2.join()
|
||||
p3.join()
|
||||
p4.join()
|
||||
p5.join()
|
||||
p6.join()
|
||||
p7.join()
|
||||
p8.join()
|
||||
p9.join()
|
||||
p10.join()
|
||||
# input_data manuell erstellt:
|
||||
# input_data = [(seeds[0], seeds[1]), (seeds[2], seeds[3]), (seeds[4], seeds[5]), (seeds[6], seeds[7]),
|
||||
# (seeds[8], seeds[9]), (seeds[10], seeds[11]), (seeds[12], seeds[13]), (seeds[14], seeds[15]),
|
||||
# (seeds[16], seeds[17]), (seeds[18], seeds[19])]
|
||||
|
||||
with Pool(processes=num_processes) as pool:
|
||||
results = pool.starmap(find_min, input_data)
|
||||
print(results)
|
||||
print(f"kleinste Location: {min(results)}")
|
||||
print(f"Script beendet! Benötigte Zeit in Sekunden: {int(time()-start)}")
|
||||
|
||||
Reference in New Issue
Block a user