Re: [Gimp-developer] GIMP and multiple processors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 27.02.2005, at 01:04, Sven Neumann wrote:

I have eliminated last_visited from the gradient struct. Instead the
caller of gimp_gradient_get_color_at() may now do the same
optimization without any caching in the gradient itself. I very much
doubt that this makes any difference though. Perhaps if you would
benchmark a gradient blend with a lot of segments. But in the general
case it's just a few of them, very often even only a single one.

Now that this race condition is eliminated I might look into adding
hooks to the pixel-processor to allow initialisation of per-thread
data, like for example a GRand.

Your change dramatically changed the picture.

Instead of:
Linear Gradient blend on a 3000x3000 pixel image (Dithering on)
1 processor:		7.5 s
2 processors:		9.6 s
4 processors:		9.6 s

Linear Gradient blend on a 3000x3000 pixel image (Dithering OFF)
1 processor:		3.0 s
2 processors:		2.5 s
4 processors:		2.5 s

I now get: Linear Gradient blend on a 3000x3000 pixel image (Dithering on) 1 processor: 7.2 s 2 processors: 8.9 s

Linear Gradient blend on a 3000x3000 pixel image (Dithering OFF)
1 processor:		2.5 s
2 processors:		1.5 s

However dithering on is still loosing quite a bit on this SMP
machine....

Servus,
      Daniel

Attachment: PGP.sig
Description: This is a digitally signed message part


[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux