[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [computer-go] Pattern Matcher
> -----Original Message-----
> From: computer-go-bounces@xxxxxxxxxxxxxxxxx
> [mailto:computer-go-bounces@xxxxxxxxxxxxxxxxx]On Behalf Of Vincent
> Diepeveen
> Sent: Monday, November 08, 2004 15:06
> To: computer-go; computer-go
> Subject: Re: [computer-go] Pattern Matcher
>
>
> In theory it is possible to let your automatic recognized patterns auto
> generate to C code. With evolutionary tree software you can build
> from that
> a tree then which can hard code itself into C and just compile like an add
> on C file. It can get evaluated then in a logarithmic way.
>
My pattern-matcher does exactly that (be it in a not very sophisticated way
I think), create an optimized decision-tree. GNU Go generates C codes from
it's patterns. I questioned if generated C-code could get the same kind of
optimization as my decision-tree, but didn't get a very good answer on it. I
suppose in theory you could generate C-code (or Java code in my case) to
hard-code the decision-tree. My question is though: would that really
provide such a big speedup? Now the actual matching code that reads the tree
is tiny, so it will fit in the primary cache. The decision-tree will easily
fit in the L2 cache (I think, I'm not sure even). The generated C-code would
at best be similar in size as the decision-tree I think.
I would be really interested if it would give a significant speedup. In Java
it's probably even more practical than in C, as it has the built-in
capability of doing run-time compilation of the code and load the compiled
class run-time to replace the existing one.
But it's rather a lot of work to try to make,so I would like to know before
attempting something like this. Do you have any experience in this?
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/