[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Pattern Matcher
> 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/