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

Re: [computer-go] Pattern Matcher



No he proved nothing.

99% of the system time goes to cache trashing and the 2 idiotic
instructions like MODULO and IDIV and to bad compilers not inlining the
functions very well.

If you take away those 2 factors you are going to get sick how slow JAVA is.

Sure you can get the program run a factor 20 faster than this. Could solve
c4 already years ago at some major slow hardware with just alfabeta by just
searching millions of nodes a second.

Note that you can cound things incremental very fast with a few ANDs in c4.

At 22:35 8-11-2004 -0500, Don Dailey wrote:
>
>> And it compiles without optimizations.
>
>You are free to compile any way you choose.  I used optimizations when
>I ran it.   
>
>John Tromp didn't  do hard core optimization like  we do, for instance
>he  was quite  happy to  use 64  bit values  and division,  high level
>things  that  will  negate  some   of  the  advantages  of  low  level
>programming.  When I pointed that out  to him he didn't really get the
>point.
>
>Nevertheless, he proved to me that java is easily within 2 to 1 for this
>kind of programming.    I really have a hard time
>believing you  could optimize the  C code to  be 3 times  faster while
>keeping both programs functionally  identical but you are free to prove
>to me.  
>
>- Don
>
>
>
>
>
>
>
>   From: Vincent Diepeveen <diep@xxxxxxxxxxxxxxxxx>
>
>   the program is really programmed by someone who has had a BASIC course
only.
>
>   It has 2 pointers which both get used as an array.
>
>   He hasn't figured out what are expensive instructions on a processor and
>   which are slow.
>
>   Example the hashtable you can speedup eyes closed by setting the hashtable
>   by a multiple of 2 and then using AND.
>
>   Does JAVA have that instruction too?
>
>   The program is using dead simplistic loops. No optimization has been tried
>   anywhere.
>
>   And it compiles without optimizations.
>
>   I just will quote the makefile here :
>
>   # current options include TRANSIZE PROBES REPORTPLY
>   # suggested values for benching are
>   # TRANSIZE: 1050011 or 6249979 (see c4.h for other possibilities)
>   # PROBES: 8
>   # REPORTPLY: 8
>
>   DEFINES = -DUNIX -DTRANSIZE=1050011 -DPROBES=8 -DREPORTPLY=8
>   FLAGS = -Ofast $(DEFINES)
>   FILES = Makefile input \
>	   play.c c4.h c4.c trans.c time.c types.h
>
>
>   CC = cc $(FLAGS)
>
>   c4              : play.o c4.o trans.o time.o
>		   $(CC) -o c4 play.o c4.o trans.o time.o
>
>   play.o          : play.c c4.h types.h Makefile
>		   $(CC) -c play.c
>
>   trans.o : trans.c c4.h c4.h types.h Makefile
>		   $(CC) -c trans.c
>
>   c4.o    : c4.c c4.h c4.h types.h Makefile
>		   $(CC) -c c4.c
>
>   time.o          : time.c types.h Makefile
>		   $(CC) -c time.c
>
>   # use the following for optimization levels that preclude separate
compilation
>   together        : play.c c4.h c4.h c4.c trans.c time.c types.h Makefile
>		   $(CC) -o c4 play.c c4.c trans.c time.c
>
>   MANIFEST        : $(FILES)
>		   ls -l $(FILES) > MANIFEST
>
>   shar            : $(FILES) MANIFEST
>		   shar -o c4.shar MANIFEST $(FILES)
>
>   tar             : $(FILES) MANIFEST
>		   tar -cf c4.tar MANIFEST  $(FILES)
>		   gzip c4.tar
>
>   Is that how you compiled CILKCHESS too?
>
>   Also note that gcc is very fucking dead slow.
>
>   At 20:20 8-11-2004 -0500, Don Dailey wrote:
>   >
>   >> Can you give some example code Mark?
>   >
>   >Vincent,
>   >
>   >Go to John  Tromps web site and  download 2 program, one in  C and the
>   >other in  Java.  They  do exactly the  same thing, they  are connect-4
>   >solvers and do alpha/beta searching.  You can time them both.
>   >
>   >Here is the web site:
>   >
>   >   http://homepages.cwi.nl/~tromp/c4/fhour.html
>   >
>   >If you think  something is wrong, the source  code is there.  Optimize
>   >the  C code  if you  want and  see if  you can  beat it.   It  is well
>   >written.
>   >
>   >I had this same argument a few  weeks ago and I said Java was slow.  I
>   >didn't argue  for long, I  tried it for  myself and had to  retract my
>   >opinion.
>   >
>   >
>   >- Don
>   >_______________________________________________
>   >computer-go mailing list
>   >computer-go@xxxxxxxxxxxxxxxxx
>   >http://www.computer-go.org/mailman/listinfo/computer-go/
>   >
>   >
>
>
>
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/