Hi,

>Since you primarily use Intel X86, I suspect that LCMS is optimized 
>for Intel X86 using the compiler you use most often.

Sure. Maybe in unconscious way I do. However, I'm right now regarding 
optimization too tied to any specific architecture as evil, since write really 
fast code is black magic on today processors. Many times common
sense has nothing to do with what compiler and processor does behind,
and the trick & traps I learned many, many time ago, on the PDP11 ages
are no longer valid :-)

I guess the best move would be to optimize the algorithm whatever 
possible, which is proven to be the best optimization at all, and then 
make things easy for the compiler, but without going too deep. Just 
an example, 8-bit transforms are using lookup tables, which should 
speed up a lot... guess what? In some machines is faster to do the 
whole interpolation than a redirection across lookup table! 
At that point I decided to get rid of assembly whatever possible.

But of course there is a lot of people more knowledgeable than me on
optimization, so any advice on the code would be very welcome.

Regards,
Marti.


----- Original Message ----- 
From: "Bob Friesenhahn" <[EMAIL PROTECTED]>
To: "Marti Maria" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, May 25, 2004 5:21 PM
Subject: Re: [Lcms-user] ICC workflow in Linux


On Tue, 25 May 2004, Marti Maria wrote:
>
> In recent versions, I'm trying to reduce the amount of asm to minimum.
> Don't even discard eliminating it completely,  since the speed gain is
> almost null and definitively not worth of the induced complexity. Most times
> you can do same in C, the trick is, write C code thinking in assembler :-)

In the past I have tested key C code fragments on different processor 
types and have been astonished at the cross-CPU variability.  I have 
seen factors of 3X difference between one-line code fragments (in a 
loop), with contradicting results on different processors.  In the 
end, selecting the algorithm with the most consistently good 
performance across processors is best.

Since you primarily use Intel X86, I suspect that LCMS is optimized 
for Intel X86 using the compiler you use most often.

Bob
======================================
Bob Friesenhahn
[EMAIL PROTECTED]
http://www.simplesystems.org/users/bfriesen


-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
Lcms-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/lcms-user



-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
Lcms-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to