public static void main(String[] args) throws Exception {
OpeningBook.setUseOpeningBook(false);
BitBoard board = new BitBoard();
FENUtils.loadPosition("1rbq2r1/3pkpp1/2n1p2p/1N1n4/1p1P3N/3Q2P1/1PP2PBP/R3R1K1 b - - 1 16", board);
ChessEngine engine = new ChessEngine();
engine.setDepth(3);
long pre = System.currentTimeMillis();
engine.getPreferredMove(board);
System.out.println("Time (search): " + (System.currentTimeMillis() - pre) + " ms");
pre = System.currentTimeMillis();
engine.getPreferredMove(board);
System.out.println("Time (search2): " + (System.currentTimeMillis() - pre) + " ms");
pre = System.currentTimeMillis();
engine = new ChessEngine();
engine.getPreferredMove(board);
System.out.println("Time (search3): " + (System.currentTimeMillis() - pre) + " ms");
pre = System.currentTimeMillis();
engine = new ChessEngine();
engine.setDepth(5);
engine.getPreferredMove(board);
System.out.println("Time (search4): " + (System.currentTimeMillis() - pre) + " ms");
pre = System.currentTimeMillis();
RunningCount rc = new RunningCount();
generateToDepth(5, board, rc);