host: sherlock, time: 23:23:46, date: 26/06/2012 __________________________________________________________________________ UNIFORMLY RANDOM PLAY: MOVE, UNDO THEN REDO Total seconds: 1,000 Total 19x19 games generated: 2,927,669 Games per second: 2,928 Moves per second: 1,325,941 Moves per game: 453 Final position of the last game (which took 413 moves): A B C D E F G H J K L M N O P Q R S T +---------------------------------------+ 19 | # # # o . o . o o o o o o o o . o . o | 19 18 | # . # o o o o o o . o o # # o o o o o | 18 17 | # # # # # o . o o o o # # # # o o # o | 17 16 | . # # # o o o . o o o # . # # o o # o | 16 15 | # # # # # o o o o o o o # # . # # # o | 15 14 | # . # o o o o o . o # # # # # . # o o | 14 13 | # # # # o o . o o . o o # . # # # # o | 13 12 | . # # o o o o o o o o # # # # # o o o | 12 11 | # # # # o o o o # # # # # # # o o . o | 11 10 | . # # # # # o . o o o o o o o . o o o | 10 9 | # # # # # # o o o o o o . o o o o o o | 9 8 | o o o o # o o o # # o . o o o . o o . | 8 7 | o . o # # o # # . # o o # # # o o . o | 7 6 | . o o o o # # . # # o o o o # # o o o | 6 5 | o o o o # # # # . # # o o # # # # o # | 5 4 | # # o o o # # # # # # # # # . # # # # | 4 3 | # # # o # # # # # # # . # # # # # o # | 3 2 | # # # # . # . # # o . # # . # # o . # | 2 1 | # . # # o # # . # # # # . # # # # # # | 1 +---------------------------------------+ A B C D E F G H J K L M N O P Q R S T __________________________________________________________________________ TIME PROFILING 569.80 seconds of CPU time (24.15 seconds GC) function cur raw stack raw GC raw -------------------------------------------------------------------------------- ----- --------- ----- --------- ---- -------- playRandomMove. src/benchmark.sml: 219 16.8% (100.00s) 93.4% (554.69s) 1.4% (8.20s) IBoard.undoLastMove. src/IBoard.sml: 3097 7.3% (43.49s) 31.0% (183.87s) 1.4% (8.03s) IBoard.identifyNeighbour. src/IBoard.sml: 905 5.6% (33.06s) 6.7% (40.07s) 0.0% (0.00s) IBoard.identifyNeighbour. src/IBoard.sml: 905 5.3% (31.26s) 5.6% (33.32s) 0.0% (0.00s) IBoard.identifyNeighbour. src/IBoard.sml: 905 5.1% (30.17s) 5.5% (32.40s) 0.0% (0.00s) IBoard.identifyNeighbour. src/IBoard.sml: 905 3.5% (20.83s) 3.9% (23.21s) 0.0% (0.00s) IBoard.unmergeMarkBlock. src/IBoard.sml: 2995 2.9% (16.97s) 3.2% (18.75s) 1.3% (7.99s) IBoard.unmergeUnmarkStone. src/IBoard.sml: 3009 2.5% (14.68s) 5.2% (31.12s) 0.0% (0.01s) IBoard.unmergeUnmarkBlock. src/IBoard.sml: 3019 2.3% (13.67s) 2.7% (16.00s) 0.0% (0.01s) IBoard.unmergeMarkStone. src/IBoard.sml: 2978 2.3% (13.60s) 5.5% (32.94s) 1.3% (7.99s) IBoard.unmerge. src/IBoard.sml: 3038 2.1% (12.69s) 12.9% (76.72s) 1.3% (8.00s) IBoard.incLedges. src/IBoard.sml: 3050 1.9% (11.06s) 2.0% (11.78s) 0.0% (0.00s) IBoard.capture. src/IBoard.sml: 242 1.8% (10.77s) 2.1% (12.43s) 0.0% (0.16s) IBoard.playStoneMove. src/IBoard.sml: 2815 1.8% (10.64s) 29.2% (173.71s) 0.0% (0.15s) IBoard.incLedges. src/IBoard.sml: 3050 1.8% (10.57s) 1.9% (11.16s) 0.0% (0.00s) IBoard.incLedges. src/IBoard.sml: 3050 1.7% (10.20s) 1.8% (10.92s) 0.0% (0.00s) IBoard.incLedges. src/IBoard.sml: 3050 1.7% (10.06s) 1.8% (10.65s) 0.0% (0.00s) Time.getNow $(SML_LIB)/basis/system/time.sml: 71 1.5% (9.07s) 1.5% (9.07s) 0.0% (0.02s) IBoard.captureStone. src/IBoard.sml: 254 1.3% (8.00s) 3.3% (19.59s) 0.0% (0.17s) IBoard.playStoneMove.checkNeighbour. src/IBoard.sml: 2823 1.1% (6.46s) 1.1% (6.78s) 0.0% (0.00s) IBoard.uncaptureStone. src/IBoard.sml: 2957 0.9% (5.56s) 2.0% (11.89s) 0.0% (0.03s) IBoard.playStoneMove.checkNeighbour. src/IBoard.sml: 2823 0.9% (5.53s) 1.0% (5.82s) 0.0% (0.00s) IBoard.playStoneMove.checkNeighbour. src/IBoard.sml: 2823 0.9% (5.46s) 1.0% (5.71s) 0.0% (0.00s) IBoard.playSensibleStoneMove. src/IBoard.sml: 1862 0.9% (5.25s) 37.7% (224.21s) 0.0% (0.17s) IBoard.peekBlock. src/IBoard.sml: 77 0.9% (5.20s) 1.5% (8.97s) 0.0% (0.00s) IBoard.uncaptureBlock. src/IBoard.sml: 2934 0.9% (5.14s) 1.0% (6.04s) 0.0% (0.03s) IBoard.fillEye. src/IBoard.sml: 2730 0.8% (4.80s) 1.7% (10.25s) 0.0% (0.00s) IBoard.playSensibleStoneMove. src/IBoard.sml: 2106 0.6% (3.55s) 0.7% (3.96s) 0.0% (0.00s) IBoard.playStoneMove.checkNeighbour. src/IBoard.sml: 2823 0.6% (3.53s) 0.6% (3.78s) 0.0% (0.00s) IBoard.playStoneMove. src/IBoard.sml: 2851 0.5% (3.03s) 2.3% (13.51s) 0.0% (0.00s) IBoard.group04. src/IBoard.sml: 1737 0.5% (2.91s) 0.7% (4.18s) 0.0% (0.02s) IBoard.peekBlock src/IBoard.sml: 76 0.5% (2.79s) 2.0% (11.76s) 1.4% (8.19s) IBoard.group04. src/IBoard.sml: 2722 0.5% (2.72s) 0.8% (4.54s) 0.0% (0.00s) playRandomGame. src/benchmark.sml: 240 0.4% (2.52s) 94.3% (560.11s) 4.1% (24.13s) IBoard.class11. src/IBoard.sml: 1374 0.4% (2.09s) 0.4% (2.29s) 0.0% (0.00s) IBoard.class01. src/IBoard.sml: 972 0.3% (1.92s) 0.4% (2.12s) 0.0% (0.00s) IBoard.peekBlock. src/IBoard.sml: 81 0.3% (1.66s) 0.6% (3.77s) 0.0% (0.00s) IBoard.class02. src/IBoard.sml: 1021 0.3% (1.62s) 0.3% (1.89s) 0.0% (0.00s) playRandomMove. src/benchmark.sml: 214 0.3% (1.58s) 93.7% (556.50s) 1.4% (8.20s) IBoard.connectTwoBlocks. src/IBoard.sml: 367 0.3% (1.53s) 0.3% (1.83s) 0.0% (0.00s) IBoard.connectTwoBlocks. src/IBoard.sml: 367 0.2% (1.43s) 0.3% (1.64s) 0.0% (0.00s) IBoard.class12. src/IBoard.sml: 1425 0.2% (1.43s) 0.3% (1.54s) 0.0% (0.00s) IBoard.peekBlock. src/IBoard.sml: 83 0.2% (1.40s) 0.2% (1.40s) 0.0% (0.00s) IBoard.class1. src/IBoard.sml: 2581 0.2% (1.27s) 0.2% (1.35s) 0.0% (0.00s) IIntSet.delete. src/IIntSet.sml: 66 0.2% (1.24s) 0.5% (2.74s) 0.0% (0.00s) IBoard.chaseBlock. src/IBoard.sml: 55 0.2% (1.13s) 0.4% (2.42s) 0.0% (0.00s) IBoard.unionThreeBlocks. src/IBoard.sml: 324 0.2% (1.13s) 0.2% (1.31s) 0.0% (0.00s) IBoard.uncapture. src/IBoard.sml: 2967 0.2% (1.12s) 2.5% (14.78s) 0.0% (0.03s) IBoard.class21. src/IBoard.sml: 1575 0.2% (1.05s) 0.5% (2.82s) 0.0% (0.00s) IBoard.isEmptyPoint. src/IBoard.sml: 51 0.2% (1.04s) 0.2% (1.04s) 0.0% (0.00s) IBoard.class11. src/IBoard.sml: 1364 0.2% (1.04s) 1.1% (6.51s) 0.0% (0.02s) playRandomGame. src/benchmark.sml: 242 0.2% (1.02s) 93.9% (557.70s) 4.1% (24.13s) IBoard.playSensibleStoneMove. src/IBoard.sml: 2309 0.1% (0.89s) 0.2% (1.03s) 0.0% (0.00s) IBoard.chaseBlock. src/IBoard.sml: 62 0.1% (0.85s) 0.2% (1.29s) 0.0% (0.00s) IBoard.class20. src/IBoard.sml: 1548 0.1% (0.80s) 0.5% (2.83s) 0.0% (0.00s) IBoard.unionThreeBlocks. src/IBoard.sml: 324 0.1% (0.80s) 0.1% (0.85s) 0.0% (0.00s) IBoard.class10. src/IBoard.sml: 1348 0.1% (0.73s) 0.1% (0.84s) 0.0% (0.00s) IBoard.peekBlock. src/IBoard.sml: 82 0.1% (0.71s) 0.4% (2.11s) 0.0% (0.00s) IBoard.findSide src/IBoard.sml: 160 0.1% (0.68s) 0.2% (1.03s) 0.0% (0.00s) IBoard.findSide. src/IBoard.sml: 161 0.1% (0.62s) 0.1% (0.62s) 0.0% (0.00s) IBoard.class12. src/IBoard.sml: 1392 0.1% (0.62s) 0.5% (3.06s) 0.0% (0.02s) IBoard.playSensibleStoneMove. src/IBoard.sml: 2325 0.1% (0.61s) 0.1% (0.84s) 0.0% (0.00s) IBoard.class12. src/IBoard.sml: 1414 0.1% (0.60s) 0.3% (1.93s) 0.0% (0.02s) __________________________________________________________________________ ALLOCATION PROFILING 5,888,650,128 bytes allocated (25,347,824 bytes by GC) function cur raw stack raw GC raw --------------------------------------------------- ----- --------------- ----- --------------- ---- ------------ playRandomGame. src/benchmark.sml: 242 99.2% (5,867,970,720) 99.2% (5,867,970,720) 0.4% (25,304,760) Time.getNow $(SML_LIB)/basis/system/time.sml: 71 0.2% (11,286,976) 0.2% (11,286,976) 0.0% (0)