Re: [computer-go] language choices

2006-12-04 Thread Don Dailey
On Mon, 2006-12-04 at 19:30 -0200, Mark Boon wrote: > The object pooling is the only thing I'd rather do without. But for > speed that's not possible, unfortunately. However it hardly affects > cleanliness or readability as there's not such a big difference > between a constructor call and a

Re: [computer-go] language choices

2006-12-04 Thread steve uurtamo
> I don't see the > logic why you > can't do in Java something that performance gurus do > in C. Just > because it's Java? Because it makes sense? the garbage collector might make you a little bit more afraid of churning through objects, and the difference between a new() and a malloc() is sig

Re: [computer-go] language choices

2006-12-04 Thread Mark Boon
Don, I disagree rather strongly with some of your statements. On 4-dec-06, at 18:35, Don Dailey wrote: This isn't a Java issue, it's most if not all computer languages - if you really go all out to optimize your code for performance, you will sacrifice readability, clarity, etc. In princ

Re: [computer-go] Re: language choices

2006-12-04 Thread Don Dailey
On Mon, 2006-12-04 at 12:15 -0800, Dave Dyer wrote: > Guys, keep your eyes on the prize. If your only problem > is that you need to double your speed, all you have to do > is wait 1.5 years. > > All this talk of optimizing speed by tweaking language xx to be > more like assembly language (or C)

Re: [computer-go] language choices

2006-12-04 Thread Don Dailey
On Mon, 2006-12-04 at 17:37 -0200, Mark Boon wrote: > > On 4-dec-06, at 15:23, Don Dailey wrote: > > > But it seems like more of a travesty in Java. > > > > > Well, this may be subjective. What may seem like travesty to one may > appear completely normal to someone else. > > > I'm curious

[computer-go] Re: language choices

2006-12-04 Thread Dave Dyer
Guys, keep your eyes on the prize. If your only problem is that you need to double your speed, all you have to do is wait 1.5 years. All this talk of optimizing speed by tweaking language xx to be more like assembly language (or C) is almost completely a waste of time. Likewise, algoritmic opt

Re: [computer-go] language choices

2006-12-04 Thread Stuart A. Yeates
On 12/4/06, Peter Drake <[EMAIL PROTECTED]> wrote: The three most important things seem to be: 1) Run java in -server mode. This appears to double speed for no effort I understand this is largely the old optimize for processing or optimize for interactivity trade off. It's almost as old as m

Re: [computer-go] Technical Report on MoGo

2006-12-04 Thread Chrilly
- Original Message - From: "House, Jason J." <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; "computer-go" Sent: Monday, December 04, 2006 8:10 PM Subject: RE: [computer-go] Technical Report on MoGo I'd be a bit more careful about the comparison with alpha-beta in section 2.3. I believ

Re: [computer-go] language choices

2006-12-04 Thread Phil G
I'll port the Java code to C#. I'm curious as to the performance comparison between these languages. I'm getting fairly good at porting code between Java and C++ to C#, so it would take too long. - Original Message From: Peter Drake <[EMAIL PROTECTED]> To: computer-go Sent: Sunday, Dec

Re: [computer-go] Proposed UCT / transposition tableimplementation

2006-12-04 Thread Chrilly
- Original Message - From: "Magnus Persson" <[EMAIL PROTECTED]> To: Sent: Monday, December 04, 2006 7:45 PM Subject: Re: [computer-go] Proposed UCT / transposition tableimplementation Quoting Peter Drake <[EMAIL PROTECTED]>: I've noticed that Orego has done very poorly in the last

Re: [computer-go] language choices

2006-12-04 Thread Mark Boon
On 4-dec-06, at 15:23, Don Dailey wrote: But it seems like more of a travesty in Java. Well, this may be subjective. What may seem like travesty to one may appear completely normal to someone else. I'm curious though. If you have the time, could you point out in the code in my public p

RE: [computer-go] Technical Report on MoGo

2006-12-04 Thread House, Jason J.
I'd be a bit more careful about the comparison with alpha-beta in section 2.3. I believe that iterative deepening of alpha-beta is very common. It can be argued that when iterative deepening is used, an early termination isn't very detrimental. I've seen people get completely turned off to a pap

Re: [computer-go] Proposed UCT / transposition table implementation

2006-12-04 Thread Magnus Persson
Quoting Peter Drake <[EMAIL PROTECTED]>: I've noticed that Orego has done very poorly in the last couple of competitions. This is partly due to the improvements in others' programs, but I think the fact that Orego currently doesn't have a transposition table is crippling. Since I'm rewritin

Re: [computer-go] language choices

2006-12-04 Thread Eduardo Sabbatella
> "avoiding object creation" in a object oriented Only at inner cycles / loops. Of course you have to create a lot of objects and complex structures / object relationships. But on inner cycles / loops, just modify pre-created ones, do not create new ones. That is idea of my posting. Creating

[computer-go] Proposed UCT / transposition table implementation

2006-12-04 Thread Peter Drake
I've noticed that Orego has done very poorly in the last couple of competitions. This is partly due to the improvements in others' programs, but I think the fact that Orego currently doesn't have a transposition table is crippling. Since I'm rewriting this stuff in Java, I'm thinking about

Re: [computer-go] How to improve Orego

2006-12-04 Thread Łukasz Lew
On 12/4/06, Peter Drake <[EMAIL PROTECTED]> wrote: It's not clear whether this is faster. Determining that a move is illegal because the point is occupied is very fast; determining that a move IS legal (i.e., not a suicide or ko violation) is the slow part, and I avoid that by taking the first le

Re: [computer-go] language choices

2006-12-04 Thread Don Dailey
> 3) Algorithmic improvements are always more important that fine-tuning. It depends on what you mean by algorithmic improvements. Do you mean performance improvements or do you mean conceptually cleaner code? Sometimes you get both, but other times you have to write difficult to understand code

Re: [computer-go] language choices

2006-12-04 Thread steve uurtamo
> Similarly, > instead of > > Foo x = y.clone(); > > do something like > > x.copyDataFrom(y); > > where of course you have to write copyDataFrom(). in C you can do something like: (toward the beginning of your code) CovZ= (double *)calloc(p*p*K,sizeof(double)); (and then inside so

Re: [computer-go] language choices

2006-12-04 Thread Peter Drake
The three most important things seem to be: 1) Run java in -server mode. This appears to double speed for no effort. 2) As you say, avoid creating objects. For example, instead of creating a new array each time a method is invoked, make the array a field and just clear it out when you need a

Re: [computer-go] How to improve Orego

2006-12-04 Thread Peter Drake
It's not clear whether this is faster. Determining that a move is illegal because the point is occupied is very fast; determining that a move IS legal (i.e., not a suicide or ko violation) is the slow part, and I avoid that by taking the first legal move I find. (Of course, once all moves h

Re: [computer-go] language choices

2006-12-04 Thread Don Dailey
I would forgive weak optimization if the actual performance difference was small and it wasn't painful to get close, like it is in java. But from what I've read, you can interface C code directly, no special gymnastics. In fact any external libraries are supposed to work as is, just link them in.

Re: [computer-go] How to improve Orego

2006-12-04 Thread Chrilly
In the Orego paper the problem of selecting a move when the board is filled with stones is mentioned. Orego uses a sort of double-hashing scheme. But isn't it trivial to keep a list of empty intersections? Before the MC-run is started, one builds up this list. If a stone is placed now on the boa

RE: [computer-go] language choices

2006-12-04 Thread House, Jason J.
I've debating trying to switch over to D with my project, but have not yet done it. I use http://www.boost.org for a number of missing features of C++ and worry about simply not having such things available if I did switch over. I also worry that using D would scare away developers. -Origin

Re: [computer-go] language choices

2006-12-04 Thread Eduardo Sabbatella
Would you like to share some experiences on tunning up Java code ? Yesterday I left my machine profilling the code. (takes ages with TPTP). I didn't research too much the results, but as far I could see, creating objects is almost FORBIDDEN. The "clone" method on game class which is used for cre

Re: [computer-go] language choices

2006-12-04 Thread Łukasz Lew
Agner Fog, in his well known optimization guide, claims that Digital Mars compilers are rather weak optimizers. But the features of D language are indeed admirable. I would be grateful to see direct performance comparison on MC Go program (or on anything else) http://www.agner.org/ BTW Does any

Re: [computer-go] language choices

2006-12-04 Thread Chrilly
A note: we're working on converting Orego back from C++ to Java, and we're getting 5,000 (totally random at this point) simulated games per second. We'll probably continue in this direction. Peter Drake Assistant Professor of Computer Science Lewis & Clark College http://www.lclark.edu/~drak