On 23 Feb, Nick Lamb wrote:
>> Does this mean that you agree to ditching all the special code
>> for the 3 and 1 byte case as well? I'd really love to see this
>> changes although as already stated this might introduce a bit
>> memory overhead in case the user didn't use the alpha channel
>> at all.
> If we can get back COW during 1.3 this overhead is zero (all new
> channels / layers etc. can be created as COW tiles with the
> apppropriate contents -- huge speedup).
COW is indeed a good thing. However I assume you address the mentioned
memory overhead with your answer and I'm not sure how you would avoid
it with copy-on-write. The 3 byte will be always problematic because
we always step over memory boundaries which is a huge loss in
performance on any modern architecture. However restructuring the code
to have a special function for each of the possible cases could be a
cure to the branchprediction smashing distinguish in the source of the
performance critical functions.
Gimp-developer mailing list