Author: Tony Werten
Date: 14:48:57 05/03/03
Go up one level in this thread
On May 03, 2003 at 08:07:31, Magoo wrote: >On May 03, 2003 at 02:47:29, Tony Werten wrote: > >>On May 02, 2003 at 22:05:25, Magoo wrote: >> >>>How bad is this: >>>Depth:3, Nodes:99949, Time:40 sec, Nps:2498 >> >>Horrible, sorry. >> >>From the speed you get (Nps) I guess you are doing too much/ doing things >>double. My program is not fast, but still 100x times faster. >> >>Profiling your code should show up where the problems are. You could also post >>the structure of your program here, we might be able to help. >> >>Good luck, >> >>Tony > >I did a profile (for a minmax walk depth=3), im using a 0x88 board, i try to >program with alot of "modules", that means i have small functions for almost >everything. The function get_piece is called approx 300times/node, which seems >resonable, on_board is the !(square & 0x88) test. I think you overdid it. Modular programming doesn't mean "making a functioncall out of everything". It's sounds a bit like "get_x" wich returns the value of x. All the overhead is in the functioncall itself. > >Flat profile: > >Each sample counts as 0.01 seconds. > % cumulative self self total > time seconds seconds calls s/call s/call name > 11.74 1.20 1.20 29440891 0.00 0.00 get_piece > 10.18 2.24 1.04 31783554 0.00 0.00 on_board both, see comment above. > 7.83 3.04 0.80 97862 0.00 0.00 eval > 7.24 3.78 0.74 777565 0.00 0.00 move_pawn > 7.14 4.51 0.73 497315 0.00 0.00 move_pieces > 6.85 5.21 0.70 427282 0.00 0.00 not_in_check > 6.75 5.90 0.69 100361 0.00 0.00 move_generator > 5.77 6.49 0.59 7291134 0.00 0.00 is_different see above > 3.91 6.89 0.40 10203170 0.00 0.00 is_empty see above > 3.42 7.24 0.35 100360 0.00 0.00 all_moves_legal > 3.33 7.58 0.34 7898776 0.00 0.00 getbits > 3.03 7.89 0.31 3471247 0.00 0.00 new_move > 2.74 8.17 0.28 4652405 0.00 0.00 is_null_move > 2.64 8.44 0.27 196244 0.00 0.00 move_knight > 2.25 8.67 0.23 4349648 0.00 0.00 legal_move > 2.05 8.88 0.21 4449597 0.00 0.00 look > 1.66 9.05 0.17 100361 0.00 0.00 move_king > 1.47 9.20 0.15 2170466 0.00 0.00 is_white_piece see above > 1.37 9.34 0.14 4265234 0.00 0.00 add_move > 1.27 9.47 0.13 3021733 0.00 0.00 getBoard > 0.98 9.57 0.10 786271 0.00 0.00 score_cap > 0.88 9.66 0.09 2796571 0.00 0.00 hist_score2 > 0.88 9.75 0.09 2796571 0.00 0.00 set_move_score > 0.88 9.84 0.09 100360 0.00 0.00 undo_move > 0.78 9.92 0.08 1035659 0.00 0.00 is_black_piece see above. For these functions, replace them with the actual work that is done in the functions and your speed should go up quite a lot. Tony > 0.68 9.99 0.07 100360 0.00 0.00 do_move >. >. >. >. >. >.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.