forked from nmrugg/stockfish.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbench.js
123 lines (110 loc) · 3.01 KB
/
bench.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
var load_engine = require("./load_engine");
var stockfish = load_engine(process.argv[2] || "./stockfishjs");
var assert = require("assert");
var time;
var timeEnd;
(function ()
{
var times = {};
time = function (name)
{
times[name] = process.hrtime();
}
timeEnd = function(name)
{
var diff = process.hrtime(times[name]);
delete times[name];
console.log((typeof name === "undefined" ? "benchmark" : name) + ": %d second(s)", (diff[0] * 1e9 + diff[1]) / 1000000000);
}
}());
//var stockfish = load_engine("stockfish");
time("Start up");
stockfish.send("uci", function ()
{
timeEnd("Start up");
stockfish.send("isready");
time("d");
stockfish.send("d", function (str)
{
timeEnd("d");
//console.log(str);
time("eval");
stockfish.send("eval", function (str)
{
timeEnd("eval");
//console.log(str);
time("go depth 7");
stockfish.send("go depth 7", function ongo(str)
{
var expectedMove = "g1f3",
expectedPonder = "g8f6";
timeEnd("go depth 7");
//console.log("Stockfish says best move: " + str.match(/bestmove (\S+)/)[1]);
assert.equal(expectedMove, str.match(/bestmove (\S+)/)[1]);
assert.equal(expectedPonder, str.match(/ponder (\S+)/)[1]);
stockfish.send("quit");
}, function thinking(str)
{
//console.log("thinking: " + str);
});
});
});
});
/*
var fruit = load_engine("fruit");
fruit.send("uci");
fruit.send("go depth 7", function ongo(str)
{
console.log("Fruit says best move: " + str.match(/bestmove (\S+)/)[1]);
fruit.send("quit");
}, function thinking(str)
{
//console.log("thinking: " + str);
});
stockfish.send("uci", function ()
{
stockfish.send("isready");
stockfish.send("d", function (str)
{
//console.log(str);
stockfish.send("eval", function (str)
{
//console.log(str);
stockfish.send("go depth 7", function ongo(str)
{
console.log("Stockfish says best move: " + str.match(/bestmove (\S+)/)[1]);
stockfish.send("quit");
}, function thinking(str)
{
//console.log("thinking: " + str);
});
});
});
});
*/
/*
stockfish.send("bench", function (str)
{
console.log(str);
//process.exit();
//stockfish.send("uci");
stockfish.send("d", function ond(d)
{
console.log(d);
//process.exit();
});
stockfish.send("go depth 3", function ongo(str)
{
console.log("found best move: " + str);
process.exit();
}, function thinking(str)
{
console.log("thinking: " + str);
});
});
//stockfish.send("uci");
stockfish.stream = function stream_all(data)
{
console.log("stream: \"" + data + "\"");
}
*/