timfuz: dont open file until writing results

Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
John McMaster 2018-08-27 15:04:52 -07:00
parent 42eccf2100
commit 632fbffc4b
1 changed files with 7 additions and 9 deletions

View File

@ -134,6 +134,8 @@ def state_rref(state, verbose=False):
print('Matrix: %u rows x %u cols' % (len(mnp), len(mnp[0])))
print('Converting np to sympy matrix')
mfrac = fracm_quick(mnp)
# doesn't seem to change anything
#msym = sympy.MutableSparseMatrix(mfrac)
msym = sympy.Matrix(mfrac)
# internal encoding has significnat performance implications
#print(type(msym[3]))
@ -147,7 +149,6 @@ def state_rref(state, verbose=False):
print('Making rref')
rref, pivots = msym.rref(normalize_last=False)
if verbose:
print('Pivots')
sympy.pprint(pivots)
@ -194,14 +195,15 @@ def state_rref(state, verbose=False):
return state
def run(fout, fn_ins, simplify=False, corner=None, verbose=0):
def run(fnout, fn_ins, simplify=False, corner=None, verbose=0):
print('Loading data')
state = State.load(fn_ins, simplify=simplify, corner=corner)
state_rref(state, verbose=verbose)
state.print_stats()
if fout:
write_state(state, fout)
if fnout:
with open(fnout, 'w') as fout:
write_state(state, fout)
def main():
import argparse
@ -224,16 +226,12 @@ def main():
args = parser.parse_args()
bench = Benchmark()
fout = None
if args.out:
fout = open(args.out, 'w')
fns_in = args.fns_in
if not fns_in:
fns_in = glob.glob('specimen_*/timing3.csv')
try:
run(fout=fout,
run(fnout=args.out,
fn_ins=args.fns_in, simplify=args.simplify, corner=args.corner, verbose=args.verbose)
finally:
print('Exiting after %s' % bench)