On Sun, 2008-08-24 at 19:09 +0200, Sven Neumann wrote:
[...]
Thanks for the review. I have committed this change and some other
cleanups and optimizations to SVN trunk last night. This gives a small
but noticeable speedup. I hope that my changes did not introduce any new
bugs, but I am quite confident that I haven't broken anything.
Some informal (approximate) timings with a grayscale image,
13818x8480 pixels (a sketch by Sydney Jones).
before patch:
scale 50% = 18 seconds to freeze-at-end, 31 secs overall
17 seconds to freeze-at-end, 29 secs overall
51% = 14 seconds to freeze-at-end, 43 secs overall
11 seconds to freeze-at-end, 40 secs overall
after patch:
scale 50% = 07 seconds to freeze-at-end, 24 secs overall
07 seconds to freeze-at-end, 25 secs overall
51% = 09 seconds to freeze-at-end, 34 secs overall
10 seconds to freeze-at-end, 35 secs overall
I did the timings more than once. I have 8G of RAM and a 7G tile
cache size (on Sven's suggestion - it does seem to speed things up)
By "freeze-at-end" I mean that the progress bar stops moving
when it is almost at the very end; my guess is that it's
pushing onto the undo stack and also maybe generating a
thumbnail for the undo history, but that's an uninformed
guess :-)
The speedup for the first part is very noticeable, e.g.
18 secs -> 7 secs, but it makes the "frozen" part more
noticeable, and as a result actually seems slower.
I did not do regression testing, comparing the results, sorry.
Liam