A good way to monitor code performance is pythons profiler. http://www.python.org/doc/2.5.2/lib/node794.html
I was working on a mo-cap stabilizer and I used it, I was able to move calls around and get almost double my performance. It does timings and counts for each function call. On Thu, Oct 16, 2008 at 7:01 AM, Horvátth Szabolcs <[EMAIL PROTECTED]>wrote: > > Hi, > > First of all thanks everyone for the tips! > I tried some of the ideas and found that although both string formatting > and line-by-line writing did affect file output speed a bit it was the > code structure that affected the most. > I had some MDoubleArray, MVectorArray, MRenderLine variable definitions > inside the loop that I could remove, and it had much greater effect than > I would have anticipated. > But at least I learned some cool python tricks! > > > Wonder if the modulo is causing you timing issues? > Very small difference. > > Actually, you know, it might be the constant open and close of the file. > The file was not opened separately for each fprint statement, sorry, I > left the open/close part out of the example. > > Its a completely different issue but something that still bothers me a > bit is that the purpose of this code was to create a python API version > of the pfxstrokes command, both for learning python bits and as the > basis of an exporter. And even though it works nicely the python version > completes in 25 seconds while the original command does in 3. And the > file output is now lightning fast... :) > > Cheers, > Szabolcs > > > lutz.paelike wrote: > > You should gather your lines in a buffer and write more then one line > > at once. > > The best way would be to add each line to a list first, concat them > > with a linefeed character > > and then write them to disk in one call. If memory consumption is a > > issue you could write each > > 100 or each 1000 lines... and the clear the list again > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ Yours, Maya-Python Club Team. -~----------~----~----~----~------~----~------~--~---
