vedrandeko...@yahoo.com wrote: > On 1 velj, 17:42, Steve Holden <st...@holdenweb.com> wrote: >> vedrandeko...@yahoo.com wrote: >>> Hello, >>> When I run following code with os.popen (for this time measure I'm >>> using python module timeit): >>> for i in range(50): >>> print i >>> I get this result: 0.00246958761519 >>> But when I run same code from IDLE i get this result: >>> 6.4533341528e-005 >>> now, I have two questions: >>> 1) Which of this results is correct? >> Both are. What makes you think that printing in IDLE (to a GUI) should >> take the same amount of time as it does "running with os.popen (whatever >> that means). The two environments are likely to be completely different, >> but you haven't show the exact code you ran so it's hard to be more exact. >> >>> 2) Are this results in micro seconds? >> No, seconds, as it says in the documentation: >> >> """This executes the setup statement once, and then returns the time it >> takes to execute the main statement a number of times, measured in >> seconds as a float""". >> >> Even a modern computer doesn't do much in .0024 microseconds. >> >> regards >> Steve >> -- >> Steve Holden +1 571 484 6266 +1 800 494 3119 >> Holden Web LLC http://www.holdenweb.com/ > > Hello again, > > This is the code that I ran: > > a) Main code: > > This code is in .exe: > > t = Timer("import os;os.popen('python myscript.py arg1 2 3')") > print t.timeit() > Here in order to run the code os.popen() has to create a new subprocess and initialize the Python interpreter inside it before finally running myscript.py. I'd say that 2.5 milliseconds is quite acceptable for that. > > b) myscript.py code: > > import sys > print sys.argv[1] > var1=int(sys.argv[2]) > var2=int(sys.argv[3]) > var3=var1+var2 > In the IDLE case I presume you were running the code directly? Obviously that eliminates the interpreter startup overhead, and so will be much quicker. 65 microseconds, if I read the times correctly.
regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list