Feb 5, 2007

[Other] Mediocre improvements

I got the new move representation in place, but the gains seems quite limited (atleast in terms of move generation speed, but it will do wonders in memory conservation for the hastables). The times for my perft for the first few depths are as follows:
Depth    Nodes     Time
1 20 0.000
2 400 0.000
3 8902 0.047
4 197281 0.422
5 4865609 10.219
6 119060324 4:24.047
It is about 10% faster than the old routine, but still almost a full ply slower compared to other engines. I do not know what I might be doing wrong. I have removed all slow 'new' commands, that is replaced pretty much every object creation there was. Also I switched all Vector objects to arrays, and even stopped creating a local array with moves for every ply and instead used one larger array used for all depths (with limited benefits).

I have no idea what is going on. The problem is not the Java code, since other Java engines are faster. And this is just a huge difference.

Any ideas of what can be done to speed up the move generation are greatly appreciated.

No comments: