Add profiling hints to README.
authorW. Trevor King <wking@drexel.edu>
Tue, 7 Dec 2010 18:08:36 +0000 (13:08 -0500)
committerW. Trevor King <wking@drexel.edu>
Tue, 7 Dec 2010 18:10:52 +0000 (13:10 -0500)
Currently most of the time comes from deciding which 5 card subset to
use for scoring:

Tue Dec  7 13:05:34 2010    profile

         775071 function calls (773802 primitive calls) in 30.534 CPU seconds

   Ordered by: cumulative time
   List reduced from 240 to 20 due to restriction <20>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000   30.534   30.534 <string>:1(<module>)
        1    0.007    0.007   30.533   30.533 {execfile}
        1    0.003    0.003   30.526   30.526 ./pbot.py:4(<module>)
        1    0.034    0.034   30.273   30.273 ./pbot.py:10(run)
      340    0.036    0.000   28.194    0.083 ./table.py:307(play_round)
      340    0.164    0.000   23.889    0.070 ./table.py:331(deal)
      766    0.026    0.000   23.434    0.031 ./deck.py:209(__init__)
      766    1.232    0.002   23.409    0.031 ./deck.py:216(high_hand)
    19089    1.068    0.000   22.004    0.001 ./deck.py:172(score)
    16096    6.800    0.000   16.844    0.001 ./deck.py:164(_type_index)
      340    0.118    0.000    3.835    0.011 ./table.py:377(betting_round)
...

README

diff --git a/README b/README
index fd9981a8e1d8af6950539309b96bc631a964c9c0..83c157f95133b500840bf64326b292801a7ab551 100644 (file)
--- a/README
+++ b/README
@@ -5,3 +5,8 @@ Multiplayer poker game.  Example usage:
 Run internal tests with
 
   nosetests --with-doctest --doctest-test *.py
+
+Profile with
+
+  python -m cProfile -o profile ./pbot.py a,bots/p1.py b,bots/p1.py x,bots/p2.py y,bots/p2.py
+  python -c 'import pstats; p = pstats.Stats("profile"); p.sort_stats("cumulative").print_stats(20)'