I thought Gentoo was all about optimizing a linux distribution to your
specific proecessor. :)

Anyway, try the following optimization and see if it makes a difference in
your setup:

./autogen CFLAGS="-O3 -ffast-math -ftree-vectorize" ...




On Sat, Mar 2, 2013 at 8:49 AM, Elle Stone <[email protected]> wrote:

> Being curious about optimization, I set up two identical installations
> of babl, gegl, and Gimp, in separate, side-by-side prefixes (same
> partition, hard drive):
>
> In  "gimp291" babl, gegl, and Gimp were compiled with ./autogen.sh . . .
>
> In "gimp292" babl, gegl, and Gimp were compiled with
> CFLAGS="-march=native -Ofast" CXXFLAGS="${CFLAGS}" ./autogen.sh . . .
>
> I made two copies of the same image (both copies in the same
> directory) and ran both Gimps simultaneously, started from a terminal
> using GEGL_SWAP=RAM. Then I did the same edits on both images,
> switching back and forth:
>
> ./gimp291.sh (not optimzed)
> Curves: 1.90939 MPixels/sec
> Curves: 2.05433 MPixels/sec
> Levels: 2.01868 MPixels/sec
> Levels: 2.11656 MPixels/sec
> Levels: 1.18821 MPixels/sec
> (usm)
> GEGL Operation: 1.55727 MPixels/sec
> GEGL Operation: 1.98604 MPixels/sec
> GEGL Operation: 1.46279 MPixels/sec
> (blur)
> GEGL Operation: 1.5169 MPixels/sec
> GEGL Operation: 1.59023 MPixels/sec
> GEGL Operation: 1.36274 MPixels/sec
>
> ./gimp292.sh (optimized)
> Curves: 2.952 MPixels/sec
> Curves: 3.41224 MPixels/sec
> Levels: 4.92665 MPixels/sec
> Levels: 5.54835 MPixels/sec
> Levels: 1.937 MPixels/sec
> (usm)
> GEGL Operation: 1.76634 MPixels/sec
> GEGL Operation: 2.21788 MPixels/sec
> GEGL Operation: 1.87769 MPixels/sec
> (blur)
> GEGL Operation: 2.02932 MPixels/sec
> GEGL Operation: 2.04801 MPixels/sec
> GEGL Operation: 1.80537 MPixels/sec
>
> The identical test images were 1302 × 867 pixels. I monitored the ram
> usage on the status bars and both images showed the exact same amount
> of ram at each step of the editing process. I also monitored system
> ram using "free", and for the whole process there was plenty of free
> ram, with no writing to the system swap files. Comparing the numbers,
> the optimized babl/gegl/Gimp was always faster (higher MPixels/sec is
> better, yes?).
>
> I also did a series of brush strokes using 50% opacity, hardness 50,
> 1000px paint brush, trying to keep the brush strokes identical for
> both versions of Gimp, switching back and forth between the two
> versions. Timing was subjective, of course, but the optimized Gimp
> brush strokes always completed in less time, sometimes in about half
> the time as the non-optimized Gimp.
>
> References:
> http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
> http://openbenchmarking.org/result/1210138-RA-GCCAMDBUL77
> http://www.gentoo.org/doc/en/gcc-optimization.xml
> http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt
>
> The openbenchmarking article compares speed of execution of selected
> tasks using several open source programs that were compiled with
> different optimization levels. Usually but definitely not always
> -Ofast was the fastest.
>
> There is no way a Linux distribution can optimize for a particular
> processor. So it sounds like it might actually help if the other
> programs on which Gimp depends, like Cairo and gtk, were also
> optimized. Has anyone tried this? Several sources mentioned programs
> that heavily use glibc as a possible exception to using higher levels
> of optimization. Would that affect Gimp?
>
> Elle
>
> --
> http://ninedegreesbelow.com - articles on open source digital photography
> _______________________________________________
> gimp-developer-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/gimp-developer-list
>
_______________________________________________
gimp-developer-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gimp-developer-list

Reply via email to