10 May 2006 04:57:17 -0700, Serge Orlov <[EMAIL PROTECTED]>: > I thought md5 algorithm is pretty light, so you'll be I/O-bound, then > why bother with multi-processor algorithm?
This is an assessor utility. The program's architecture must be flexible, because I don't know, where it need to run (only I have a possibility to fix this: I write to user's guide). But I want to speedup my alg. with native code, and multiprocess code. I not tested yed, but I think that 4 subprocess quickly as one large process. > > > 2.) > > Do you know command line to just like FSUM that can compute file > > hashes (MD5/SHA1), and don't have any problems with unicode alt. file > > names ? > > I believe you can wrap the broken program with a simple python wrapper. > Use win32api.GetShortPathName to convert non-ascii file names to DOS > filenames. I use FindFilesW with 8. (?) parameter. This is the alternative name of the file, but yet I found a file that not handled by FSUM utility... Thanx for help: dd Ps: I wrote some code to test pipes and subprocesses. The name of the mod. is testpipe.py. The code is: import sys,random,subprocess,time,os,popen2,threading,thread IsMaster=len(sys.argv)==1 class ProcessThread(threading.Thread): def __init__(self,Param): threading.Thread.__init__(self) self.Param=Param self.RetVal=None self.start() def run(self): param=self.Param print "New thread with param",param po=os.popen2('c:\\python24\\python.exe testpipe.py 1') child_stdin,child_stdout=po child_stdin.write(str(param)+'\n') retval=child_stdout.readlines() child_stdin.close() child_stdout.close() self.RetVal=retval if IsMaster: print "M:",time.time() print "M: Start" print "M: Open subprocess" cnt=1 fcnt=0 pths=[] ress=[None]*9 while True: if cnt<10: pt=ProcessThread(cnt) pths.append(pt) cnt+=1 pcnt=0 for pt in pths: if pt: pcnt+=1 if pcnt: for i in range(len(pths)): pt=pths[i] if pt and pt.RetVal: pths[i]=None ress[i]=pt.RetVal print [pt.RetVal] else: break print "\M: The results are:" for s in ress: print s print "M: End" else: print "S:",time.time() print "S: Start" print "S: Data" print "S: End" s=sys.stdin.readline() print "S: %s"%s time.sleep(1) print "Echo: %s"%s print "Finished" -- http://mail.python.org/mailman/listinfo/python-list