Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about automatic inline expansion warning

Author: Michel Langeveld

Date: 10:11:14 09/23/03

Go up one level in this thread


On September 23, 2003 at 11:34:09, Uri Blass wrote:

>On September 23, 2003 at 11:28:52, Michel Langeveld wrote:
>
>>On September 23, 2003 at 10:51:35, Uri Blass wrote:
>>
>>>one of the optimization that I do it inline every suitable because I found in
>>>the past that it made my program faster.
>>>
>>>When I used maximal level warning I found hundreds of warning of the following
>>>type:
>>>
>>>warning C4711: function 'fill_dir_white_small' selected for automatic inline
>>>expansion
>>>
>>>I wonder if it is better not to do it because I found when I used maximal
>>>warning that I get warning for every automatic inline.
>>>
>>>I believe that there are functions that it is bad idea to inline like the
>>>function to generate promotion because they are called rarely and I guess that
>>>the program is slower because it is better to have smaller code for functions
>>>that are used rarely.
>>>
>>>A possible idea is to print the list of all the inlined functions and use
>>>force_inline only for part of them that are called often(I do not know about a
>>>way to tell the program not to inline a specific fuction when I use inline every
>>>suitable).
>>>
>>>Uri
>>
>>All is true. With a bit tweakling you can get sometimes 15% extra performance
>>out of a chess program.
>>
>>I do performance measurements for each function with and without inline to see
>>what works the best. If I restructure my program a lot because of algorithm and
>>structure rewrites then it can happen that the process has to be done all over
>>again.
>
>Do you do it for every function?
>
>I think that functions that are done rarely or function that are never done
>during the search are obvious functions not to inline.
>
>Uri

I do it for functions from which makes sense to do based on knowledge, common
sense and profile reports.

But as you know probably it is twiggling in the marge and for (big) elo
improvements this is not the way to go.  A different compiler, compiler version,
os, processor, hashtable size, program structure can make the speed twiggling a
slow down.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.