From 1b80cf69ee365ef7b033f3ac1cfa71057f981266 Mon Sep 17 00:00:00 2001 From: josch Date: Thu, 3 May 2012 10:34:46 +0200 Subject: [PATCH] process synchronization (commented out for now) --- bruteforce2.py | 5 ++++- bruteforce3.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/bruteforce2.py b/bruteforce2.py index 4fc8ed2..9a1d534 100644 --- a/bruteforce2.py +++ b/bruteforce2.py @@ -74,12 +74,14 @@ def main(): stuff1 = list() - for order in itertools.product([0,1,2,3], repeat=8): + #for order in itertools.product([True, False], repeat=10): #for order in [[True]*12,]: + for order in itertools.product([0,1,2,3], repeat=8): rests = list() layers = list() it = get_layers(bins, pallet, get_bit(order[0], 0), get_bit(order[0], 1)) + #it = get_layers(bins, pallet, order[0], False) layer, rest = it.next() if layer: layers.append(layer) @@ -90,6 +92,7 @@ def main(): for rot_article in order[1:]: try: layer, rest = it.send((get_bit(rot_article,0), get_bit(rot_article,1))) + #layer, rest = it.send((rot_article, False)) if layer: layers.append(layer) if rest: diff --git a/bruteforce3.py b/bruteforce3.py index fa4d1be..38d22df 100644 --- a/bruteforce3.py +++ b/bruteforce3.py @@ -10,6 +10,7 @@ from binascii import a2b_base64 import tempfile import os import zlib +import fcntl def evaluate_layers_rests(layers, rests, scores, pallet): rest_layers = list() @@ -66,6 +67,23 @@ def evaluate_layers_rests(layers, rests, scores, pallet): os.remove(tmp) scores.append(score) + """ + lock = open("score_max.lock", "w") + fcntl.lockf(lock, fcntl.LOCK_EX) + score_max_f = open("score_max", "w+") + score_max = score_max_f.read() + if not score_max: + score_max = 0.0 + if score > score_max: + shutil.move(tmp, sys.argv[2]) + score_max_f.write(str(score)) + else: + os.remove(tmp) + score_max_f.close() + lock.close() + scores.append(score) + """ + def main(): scores = list() for arg in sys.argv[3:]: