[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnugo-devel] escape_values patch
From: |
Evan Berggren Daniel |
Subject: |
[gnugo-devel] escape_values patch |
Date: |
Sat, 28 Sep 2002 17:35:21 -0400 (EDT) |
This patch changes the escape_values array in the owl struct from int to
char. This speeds up do_push_owl, and changes speeds on other things.
Net result is a minor speedup overall. However, it's hard to tell where
from, because seemingly unrelated things change, presumably because of
caching effects. Overall speedup is a relatively consistent 8-10s out of
1570 (on nngs2.tst).
Also, something that recently went into CVS significantly increased
pattern scanning time, causing about a 10% (overall) performance hit on
nngs2.tst. I'm not sure what, I can look though. Just thought I'd point
it out.
Thanks
Evan Daniel
Index: engine/dragon.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/dragon.c,v
retrieving revision 1.82
diff -u -d -r1.82 dragon.c
--- engine/dragon.c 26 Sep 2002 20:28:09 -0000 1.82
+++ engine/dragon.c 28 Sep 2002 02:54:29 -0000
@@ -1384,7 +1384,7 @@
*/
int
dragon_escape(char goal[BOARDMAX], int color,
- int escape_value[BOARDMAX])
+ char escape_value[BOARDMAX])
{
int ii;
int k;
@@ -1544,7 +1544,7 @@
{
int ii;
char goal[BOARDMAX];
- int escape_value[BOARDMAX];
+ char escape_value[BOARDMAX];
ASSERT1(IS_STONE(board[pos]), pos);
Index: engine/influence.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/influence.c,v
retrieving revision 1.65
diff -u -d -r1.65 influence.c
--- engine/influence.c 26 Sep 2002 20:28:09 -0000 1.65
+++ engine/influence.c 28 Sep 2002 02:54:29 -0000
@@ -1768,7 +1768,7 @@
void
compute_escape_influence(char goal[BOARDMAX], int color,
- int escape_value[BOARDMAX],
+ char escape_value[BOARDMAX],
int dragons_known)
{
int i, j;
@@ -1779,7 +1779,7 @@
* parameter currently is not used.
*/
static int cached_board[BOARDMAX];
- static int escape_values[BOARDMAX][4];
+ static char escape_values[BOARDMAX][4];
static int active_caches[4];
/* Encode the values of color and dragons_known into an integer
Index: engine/liberty.h
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/liberty.h,v
retrieving revision 1.120
diff -u -d -r1.120 liberty.h
--- engine/liberty.h 28 Sep 2002 00:05:08 -0000 1.120
+++ engine/liberty.h 28 Sep 2002 02:54:29 -0000
@@ -353,7 +353,7 @@
void restore_depth_values(void);
int safe_move(int move, int color);
void join_dragons(int d1, int d2);
-int dragon_escape(char goal[BOARDMAX], int color, int escape_value[BOARDMAX]);
+int dragon_escape(char goal[BOARDMAX], int color, char escape_value[BOARDMAX]);
int is_same_dragon(int d1, int d2);
int are_neighbor_dragons(int d1, int d2);
int first_worm_in_dragon(int w);
@@ -598,7 +598,7 @@
float black_influence[BOARDMAX],
int influence_regions[BOARDMAX]);
void compute_escape_influence(char goal[BOARDMAX], int color,
- int escape_value[BOARDMAX], int dragons_known);
+ char escape_value[BOARDMAX], int dragons_known);
/* Eye space functions. */
int is_eye_space(int pos);
Index: engine/owl.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/owl.c,v
retrieving revision 1.107
diff -u -d -r1.107 owl.c
--- engine/owl.c 26 Sep 2002 20:04:36 -0000 1.107
+++ engine/owl.c 28 Sep 2002 02:54:29 -0000
@@ -67,7 +67,7 @@
struct local_owl_data {
char goal[BOARDMAX];
char boundary[BOARDMAX];
- int escape_values[BOARDMAX];
+ char escape_values[BOARDMAX];
int color;
struct eye_data my_eye[BOARDMAX];
- [gnugo-devel] escape_values patch,
Evan Berggren Daniel <=