Author: Uri Blass
Date: 09:13:59 06/20/04
Go up one level in this thread
On June 20, 2004 at 07:44:25, Ross Boyd wrote: >On June 20, 2004 at 07:20:11, Uri Blass wrote: > >>On June 20, 2004 at 06:00:58, Ross Boyd wrote: >> >>>My engine (coded in C) uses longjmp() to terminate a search. >>> >>>Is there any disadvantage or hidden overhead in this approach? >>> >>>I notice other engines use a flag which is tested at every node of the search. >>>Surely there's an overhead in doing it that way???? >>> >>>I suppose the main drawback of longjmp() is portability. Most languages other >>>than C don't support it. >>> >>>Am I missing something? >>> >>>Ross >> >>Tscp also is using longjmp() >>I did not read most of the code of other programs. > >Yes, and that's where TRACE inherited it. :-) > >> >>I do not know if most languages do not support it. >>Basic that was the first language that I wrote small programs with it has the >>goto command that is similiar. >> >>I also do not understand the connection between other languages and portability. >> >>Do you think to translate trace to program that is not written in C? > >Yes, by portability I meant cross-language (not cross platform). >I have no plans to translate TRACE to another language. :-) > >Mainly, I was wondering why most don't use longjmp(). It seems to me longjmp() >has less overhead than testing everywhere whether to return to root. And it >keeps the code simple and efficient. > >Ross I do not understand why it has less overhead. I check every 8192 nodes if to return to the root. I do not see what is the difference if I do it by longjmp() or by another method. You always need to check a flag at every node by something like if ((nodes&nodefrequency)==0) Uri
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.