Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Profiling run on full game #302

Open
smallnamespace opened this issue Feb 4, 2016 · 3 comments
Open

Profiling run on full game #302

smallnamespace opened this issue Feb 4, 2016 · 3 comments
Assignees
Labels

Comments

@smallnamespace
Copy link
Collaborator

@jleclanche

         352533 function calls (346731 primitive calls) in 0.238 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     7379    0.039    0.000    0.087    0.000 selector.py:140(test)
     2014    0.010    0.000    0.014    0.000 player.py:87(entities)
     6207    0.009    0.000    0.025    0.000 selector.py:183(test)
16673/12068    0.008    0.000    0.019    0.000 {built-in method builtins.getattr}
        2    0.007    0.004    0.028    0.014 utils.py:61(random_draft)
     8128    0.006    0.000    0.007    0.000 card.py:138(events)
     7990    0.006    0.000    0.011    0.000 selector.py:156(_and)
  471/463    0.005    0.000    0.047    0.000 actions.py:90(broadcast)
9541/9373    0.005    0.000    0.031    0.000 actions.py:82(_broadcast)
      402    0.005    0.000    0.078    0.000 game.py:177(refresh_auras)
     6132    0.005    0.000    0.007    0.000 managers.py:10(__getitem__)
    29154    0.004    0.000    0.004    0.000 {method 'append' of 'list' objects}
     2070    0.004    0.000    0.007    0.000 entity.py:94(_getattr)
     3886    0.004    0.000    0.005    0.000 cardxml.py:163(collectible)
     6207    0.004    0.000    0.010    0.000 managers.py:23(get)
     1801    0.004    0.000    0.008    0.000 entity.py:123(func)
     3218    0.004    0.000    0.008    0.000 cardxml.py:136(card_class)
     4864    0.003    0.000    0.003    0.000 enum.py:453(__new__)
    17084    0.003    0.000    0.003    0.000 {method 'pop' of 'list' objects}
     6139    0.003    0.000    0.004    0.000 selector.py:409(evaluate)
     1007    0.003    0.000    0.017    0.000 game.py:69(entities)
      127    0.003    0.000    0.075    0.001 selector.py:99(<listcomp>)
     6139    0.003    0.000    0.004    0.000 selector.py:440(<lambda>)
     4864    0.003    0.000    0.006    0.000 enum.py:209(__call__)
  279/143    0.003    0.000    0.076    0.001 actions.py:467(trigger)
    16840    0.003    0.000    0.003    0.000 {method 'get' of 'dict' objects}
    33174    0.003    0.000    0.003    0.000 {built-in method builtins.len}
    15828    0.003    0.000    0.003    0.000 card.py:67(zone)
     4494    0.003    0.000    0.003    0.000 entity.py:37(update_scripts)
     3964    0.002    0.000    0.003    0.000 __init__.py:15(__getitem__)
     1691    0.002    0.000    0.004    0.000 card.py:604(update_scripts)
     1586    0.002    0.000    0.004    0.000 cardxml.py:156(type)
     2008    0.002    0.000    0.002    0.000 card.py:498(entities)
    24605    0.002    0.000    0.002    0.000 {built-in method builtins.callable}
    10056    0.002    0.000    0.002    0.000 {built-in method builtins.isinstance}
     1824    0.002    0.000    0.009    0.000 entity.py:140(func)
     4220    0.002    0.000    0.002    0.000 card.py:173(entities)
     1141    0.001    0.000    0.002    0.000 utils.py:21(__getitem__)
     4096    0.001    0.000    0.002    0.000 {built-in method builtins.any}
      216    0.001    0.000    0.006    0.000 targeting.py:17(is_valid_target)
      209    0.001    0.000    0.012    0.000 card.py:228(is_playable)
      980    0.001    0.000    0.001    0.000 game.py:53(hands)
     1679    0.001    0.000    0.004    0.000 actions.py:961(_broadcast)
     1426    0.001    0.000    0.009    0.000 card.py:478(health)
     3733    0.001    0.000    0.001    0.000 {built-in method builtins.max}
  496/124    0.001    0.000    0.159    0.001 game.py:147(trigger_actions)
     1411    0.001    0.000    0.004    0.000 actions.py:324(_broadcast)
  195/165    0.001    0.000    0.024    0.000 game.py:108(process_deaths)
      199    0.001    0.000    0.001    0.000 card.py:75(_set_zone)
     3964    0.001    0.000    0.001    0.000 {function CardDB.__getitem__ at 0x1046fabf8}
     4839    0.001    0.000    0.001    0.000 selector.py:423(_get_entity_attr)
  161/101    0.001    0.000    0.157    0.002 actions.py:142(trigger)
      137    0.001    0.000    0.002    0.000 managers.py:34(update)
      486    0.001    0.000    0.007    0.000 utils.py:57(filter)
     1378    0.001    0.000    0.010    0.000 card.py:377(to_be_destroyed)
     2956    0.001    0.000    0.001    0.000 selector.py:437(<lambda>)
     6144    0.001    0.000    0.001    0.000 {built-in method _operator.eq}
       33    0.001    0.000    0.055    0.002 actions.py:333(do)
      286    0.001    0.000    0.001    0.000 actions.py:420(__init__)
  370/110    0.001    0.000    0.176    0.002 game.py:136(queue_actions)
      108    0.001    0.000    0.003    0.000 game.py:61(all_entities)
      135    0.001    0.000    0.094    0.001 selector.py:92(eval)
      446    0.001    0.000    0.001    0.000 player.py:96(live_entities)
        1    0.001    0.001    0.201    0.201 rollout.py:29(play_full_game)
      134    0.001    0.000    0.009    0.000 card.py:434(can_attack)
       86    0.001    0.000    0.062    0.001 lazynum.py:41(get_entities)
      209    0.001    0.000    0.012    0.000 actions.py:439(get_target_args)
      246    0.001    0.000    0.006    0.000 card.py:144(cost)
       28    0.001    0.000    0.009    0.000 game.py:256(_begin_turn)
      223    0.001    0.000    0.002    0.000 game.py:73(live_entities)
     3210    0.001    0.000    0.001    0.000 card.py:567(ignore_scripts)
      881    0.001    0.000    0.006    0.000 utils.py:58(<genexpr>)
      449    0.001    0.000    0.001    0.000 actions.py:55(__init__)
      560    0.001    0.000    0.004    0.000 card.py:342(immune)
       35    0.001    0.000    0.052    0.001 actions.py:160(do)
      331    0.001    0.000    0.001    0.000 player.py:83(characters)
      143    0.001    0.000    0.007    0.000 card.py:424(attack_targets)
      199    0.000    0.000    0.002    0.000 card.py:177(_set_zone)
      446    0.000    0.000    0.000    0.000 {built-in method builtins.hasattr}
     1413    0.000    0.000    0.000    0.000 entity.py:33(events)
      433    0.000    0.000    0.002    0.000 card.py:520(_getattr)
       76    0.000    0.000    0.006    0.000 card.py:15(Card)
      179    0.000    0.000    0.003    0.000 card.py:611(_set_zone)
     2052    0.000    0.000    0.000    0.000 card.py:63(game)
       79    0.000    0.000    0.001    0.000 uuid.py:106(__init__)
       76    0.000    0.000    0.004    0.000 card.py:126(__init__)
       79    0.000    0.000    0.000    0.000 {built-in method posix.urandom}
       79    0.000    0.000    0.002    0.000 entity.py:12(__init__)
      657    0.000    0.000    0.001    0.000 __init__.py:1269(info)
      575    0.000    0.000    0.001    0.000 entity.py:116(func)
      286    0.000    0.000    0.020    0.000 actions.py:453(get_targets)
  734/582    0.000    0.000    0.000    0.000 {built-in method builtins.setattr}
      195    0.000    0.000    0.000    0.000 game.py:83(check_for_end_game)
       76    0.000    0.000    0.004    0.000 card.py:34(__init__)
      401    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
      812    0.000    0.000    0.000    0.000 __init__.py:1515(isEnabledFor)
      212    0.000    0.000    0.001    0.000 entity.py:45(log)
      250    0.000    0.000    0.003    0.000 card.py:584(attackable)
     2070    0.000    0.000    0.000    0.000 entity.py:102(<lambda>)
      205    0.000    0.000    0.000    0.000 cardxml.py:62(id)
     1691    0.000    0.000    0.000    0.000 card.py:600(enraged)
       61    0.000    0.000    0.011    0.000 actions.py:544(do)
      113    0.000    0.000    0.000    0.000 utils.py:44(remove)
      231    0.000    0.000    0.000    0.000 random.py:220(_randbelow)
       61    0.000    0.000    0.001    0.000 aura.py:40(trigger)
      552    0.000    0.000    0.000    0.000 selector.py:166(_not)
      108    0.000    0.000    0.000    0.000 game.py:49(decks)
      582    0.000    0.000    0.001    0.000 managers.py:15(__setitem__)
        8    0.000    0.000    0.015    0.002 selector.py:106(<listcomp>)
     1824    0.000    0.000    0.000    0.000 entity.py:128(<genexpr>)
      105    0.000    0.000    0.001    0.000 card.py:302(has_target)
      155    0.000    0.000    0.009    0.000 card.py:482(targets)
       61    0.000    0.000    0.024    0.000 actions.py:787(do)
      209    0.000    0.000    0.000    0.000 player.py:70(mana)
     1761    0.000    0.000    0.000    0.000 entity.py:127(<genexpr>)
     1300    0.000    0.000    0.000    0.000 selector.py:406(_get_entity_attr)
       33    0.000    0.000    0.068    0.002 card.py:260(play)
       79    0.000    0.000    0.001    0.000 uuid.py:600(uuid4)
     1761    0.000    0.000    0.000    0.000 entity.py:129(<lambda>)
       61    0.000    0.000    0.006    0.000 actions.py:558(do)
      312    0.000    0.000    0.003    0.000 actions.py:100(resolve_broadcasts)
    76/74    0.000    0.000    0.007    0.000 player.py:117(card)
      128    0.000    0.000    0.000    0.000 game.py:45(board)
       67    0.000    0.000    0.004    0.000 card.py:329(__init__)
       41    0.000    0.000    0.001    0.000 card.py:210(draw)
      360    0.000    0.000    0.003    0.000 card.py:416(attackable)
     1141    0.000    0.000    0.000    0.000 {function CardList.__getitem__ at 0x1046dc620}
       27    0.000    0.000    0.017    0.001 game.py:242(end_turn_cleanup)
      182    0.000    0.000    0.002    0.000 card.py:337(_set_zone)
       32    0.000    0.000    0.008    0.000 player.py:155(draw)
      175    0.000    0.000    0.001    0.000 card.py:369(dead)
       95    0.000    0.000    0.000    0.000 card.py:643(is_summonable)
       74    0.000    0.000    0.069    0.001 evaluator.py:42(trigger)
      558    0.000    0.000    0.000    0.000 actions.py:132(evaluate)
       61    0.000    0.000    0.001    0.000 aura.py:72(refresh_tags)
       33    0.000    0.000    0.024    0.001 actions.py:601(do)
      276    0.000    0.000    0.000    0.000 selector.py:161(_or)
      108    0.000    0.000    0.000    0.000 game.py:65(graveyard)
       31    0.000    0.000    0.001    0.000 game.py:119(_schedule_death)
        4    0.000    0.000    0.000    0.000 random.py:258(shuffle)
      447    0.000    0.000    0.000    0.000 managers.py:58(action)
       73    0.000    0.000    0.058    0.001 lazynum.py:63(check)
      447    0.000    0.000    0.000    0.000 managers.py:62(action_end)
  199/196    0.000    0.000    0.004    0.000 card.py:71(zone)
      107    0.000    0.000    0.000    0.000 random.py:250(choice)
      108    0.000    0.000    0.003    0.000 game.py:38(__iter__)
       66    0.000    0.000    0.000    0.000 game.py:57(characters)
       28    0.000    0.000    0.000    0.000 calendar.py:597(timegm)
      276    0.000    0.000    0.000    0.000 selector.py:293(<lambda>)
       28    0.000    0.000    0.000    0.000 {built-in method time.gmtime}
       38    0.000    0.000    0.006    0.000 card.py:319(<listcomp>)
      276    0.000    0.000    0.000    0.000 selector.py:276(test)
      337    0.000    0.000    0.000    0.000 player.py:62(current_player)
      101    0.000    0.000    0.001    0.000 card.py:594(exhausted)
       49    0.000    0.000    0.001    0.000 card.py:626(_hit)
       79    0.000    0.000    0.002    0.000 entity.py:89(__init__)
       65    0.000    0.000    0.004    0.000 card.py:558(__init__)
       68    0.000    0.000    0.058    0.001 lazynum.py:82(evaluate)
      445    0.000    0.000    0.000    0.000 actions.py:105(get_args)
       67    0.000    0.000    0.004    0.000 card.py:408(__init__)
      101    0.000    0.000    0.000    0.000 card.py:590(asleep)
      592    0.000    0.000    0.000    0.000 entity.py:118(<genexpr>)
       27    0.000    0.000    0.017    0.001 game.py:236(_end_turn)
        1    0.000    0.000    0.007    0.007 game.py:201(prepare)
       79    0.000    0.000    0.000    0.000 {built-in method from_bytes}
      902    0.000    0.000    0.000    0.000 {method 'items' of 'dict' objects}
       35    0.000    0.000    0.073    0.002 game.py:80(attack)
       82    0.000    0.000    0.000    0.000 entity.py:48(get_actions)
       27    0.000    0.000    0.001    0.000 actions.py:108(matches)
       30    0.000    0.000    0.007    0.000 actions.py:228(do)
       80    0.000    0.000    0.000    0.000 managers.py:6(__init__)
        9    0.000    0.000    0.001    0.000 actions.py:967(do)
       61    0.000    0.000    0.000    0.000 aura.py:14(update_tags)
       28    0.000    0.000    0.016    0.001 game.py:253(begin_turn)
       27    0.000    0.000    0.028    0.001 game.py:233(end_turn)
      198    0.000    0.000    0.000    0.000 {method 'startswith' of 'str' objects}
      351    0.000    0.000    0.000    0.000 {method 'getrandbits' of '_random.Random' objects}
      155    0.000    0.000    0.000    0.000 __init__.py:1257(debug)
       60    0.000    0.000    0.000    0.000 cardxml.py:152(rarity)
       38    0.000    0.000    0.006    0.000 card.py:317(targets)
      138    0.000    0.000    0.000    0.000 managers.py:76(step)
      496    0.000    0.000    0.000    0.000 game.py:41(game)
       11    0.000    0.000    0.000    0.000 random.py:280(sample)
       27    0.000    0.000    0.023    0.001 actions.py:241(do)
       35    0.000    0.000    0.004    0.000 card.py:827(is_usable)
       35    0.000    0.000    0.078    0.002 card.py:473(attack)
       40    0.000    0.000    0.003    0.000 actions.py:674(do)
       35    0.000    0.000    0.000    0.000 card.py:466(should_exit_combat)
       28    0.000    0.000    0.000    0.000 player.py:204(max_mana)
       18    0.000    0.000    0.005    0.000 lazynum.py:98(evaluate)
       74    0.000    0.000    0.058    0.001 evaluator.py:30(evaluate)
       71    0.000    0.000    0.000    0.000 card.py:460(exhausted)
        1    0.000    0.000    0.037    0.037 rollout.py:10(prepare_game)
       36    0.000    0.000    0.000    0.000 lazynum.py:104(<genexpr>)
       78    0.000    0.000    0.000    0.000 managers.py:66(new_entity)
        2    0.000    0.000    0.000    0.000 player.py:26(__init__)
      133    0.000    0.000    0.000    0.000 entity.py:145(func)
       28    0.000    0.000    0.010    0.000 actions.py:199(do)
       40    0.000    0.000    0.000    0.000 actions.py:667(get_target_args)
       93    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:996(_handle_fromlist)
       22    0.000    0.000    0.000    0.000 abc.py:178(__instancecheck__)
       60    0.000    0.000    0.001    0.000 card.py:389(_hit)
       33    0.000    0.000    0.000    0.000 actions.py:330(get_args)
       35    0.000    0.000    0.000    0.000 card.py:785(exhausted)
       71    0.000    0.000    0.000    0.000 card.py:456(max_attacks)
      139    0.000    0.000    0.000    0.000 {method 'count' of 'list' objects}
       33    0.000    0.000    0.000    0.000 player.py:186(pay_mana)
       73    0.000    0.000    0.000    0.000 card.py:157(cost)
       48    0.000    0.000    0.000    0.000 aura.py:23(_getattr)
      286    0.000    0.000    0.000    0.000 {method 'pop' of 'dict' objects}
       68    0.000    0.000    0.000    0.000 game.py:191(<lambda>)
       35    0.000    0.000    0.000    0.000 actions.py:156(get_args)
      237    0.000    0.000    0.000    0.000 player.py:200(max_mana)
      4/2    0.000    0.000    0.001    0.001 player.py:216(summon)
        9    0.000    0.000    0.001    0.000 actions.py:9(_eval_card)
       67    0.000    0.000    0.000    0.000 selector.py:438(<lambda>)
       33    0.000    0.000    0.000    0.000 _weakrefset.py:70(__contains__)
       76    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
       32    0.000    0.000    0.000    0.000 card.py:352(deathrattles)
       42    0.000    0.000    0.000    0.000 actions.py:97(queue_broadcast)
        8    0.000    0.000    0.017    0.002 entity.py:54(trigger_event)
       20    0.000    0.000    0.000    0.000 {built-in method builtins.sum}
        1    0.000    0.000    0.008    0.008 game.py:312(start)
      190    0.000    0.000    0.000    0.000 player.py:66(controller)
       91    0.000    0.000    0.000    0.000 lazynum.py:38(num)
        4    0.000    0.000    0.000    0.000 actions.py:872(do)
       39    0.000    0.000    0.000    0.000 card.py:420(attacking)
       71    0.000    0.000    0.000    0.000 selector.py:240(eval)
       12    0.000    0.000    0.000    0.000 card.py:534(_hit)
        5    0.000    0.000    0.000    0.000 card.py:206(discard)
        3    0.000    0.000    0.006    0.002 actions.py:384(do)
      231    0.000    0.000    0.000    0.000 {method 'bit_length' of 'int' objects}
      137    0.000    0.000    0.000    0.000 card.py:283(is_summonable)
       39    0.000    0.000    0.000    0.000 utils.py:15(__contains__)
        2    0.000    0.000    0.000    0.000 copy.py:67(copy)
       39    0.000    0.000    0.000    0.000 {built-in method builtins.min}
        1    0.000    0.000    0.238    0.238 {built-in method builtins.exec}
       33    0.000    0.000    0.000    0.000 actions.py:593(get_target_args)
        1    0.000    0.000    0.008    0.008 game.py:224(start)
        3    0.000    0.000    0.008    0.003 card.py:806(use)
        2    0.000    0.000    0.001    0.000 actions.py:307(choose)
       92    0.000    0.000    0.000    0.000 {method 'random' of '_random.Random' objects}
        1    0.000    0.000    0.000    0.000 game.py:19(__init__)
        2    0.000    0.000    0.000    0.000 copy.py:270(_reconstruct)
        8    0.000    0.000    0.000    0.000 selector.py:375(merge)
        3    0.000    0.000    0.001    0.000 card.py:527(_set_zone)
        1    0.000    0.000    0.004    0.004 utils.py:44(trigger)
       61    0.000    0.000    0.000    0.000 {method 'remove' of 'list' objects}
        3    0.000    0.000    0.007    0.002 card.py:798(activate)
      5/4    0.000    0.000    0.000    0.000 card.py:791(_set_zone)
        4    0.000    0.000    0.000    0.000 player.py:212(shuffle_deck)
        9    0.000    0.000    0.000    0.000 card.py:56(__eq__)
        2    0.000    0.000    0.000    0.000 iostream.py:207(write)
        5    0.000    0.000    0.000    0.000 card.py:53(__repr__)
       19    0.000    0.000    0.000    0.000 entity.py:132(func)
       68    0.000    0.000    0.000    0.000 {built-in method _operator.ge}
        1    0.000    0.000    0.238    0.238 rollout.py:68(test_full_game)
        6    0.000    0.000    0.000    0.000 cardxml.py:187(secret)
      4/1    0.000    0.000    0.000    0.000 player.py:167(mill)
        6    0.000    0.000    0.000    0.000 card.py:654(__init__)
       32    0.000    0.000    0.000    0.000 actions.py:429(__mul__)
        2    0.000    0.000    0.000    0.000 deck.py:10(__init__)
       68    0.000    0.000    0.000    0.000 {built-in method _operator.le}
        1    0.000    0.000    0.008    0.008 game.py:300(start)
       28    0.000    0.000    0.000    0.000 {method 'toordinal' of 'datetime.date' objects}
        2    0.000    0.000    0.000    0.000 actions.py:299(do)
        2    0.000    0.000    0.000    0.000 utils.py:51(exclude)
        2    0.000    0.000    0.000    0.000 copyreg.py:87(__newobj__)
        1    0.000    0.000    0.001    0.001 actions.py:651(get_target_args)
       18    0.000    0.000    0.000    0.000 utils.py:27(__int__)
        2    0.000    0.000    0.000    0.000 card.py:493(__init__)
        1    0.000    0.000    0.000    0.000 card.py:191(destroy)
        2    0.000    0.000    0.000    0.000 actions.py:632(do)
       10    0.000    0.000    0.000    0.000 utils.py:55(<genexpr>)
        2    0.000    0.000    0.000    0.000 actions.py:916(do)
       60    0.000    0.000    0.000    0.000 entity.py:81(get_damage)
        4    0.000    0.000    0.000    0.000 utils.py:38(index)
        1    0.000    0.000    0.000    0.000 random_picker.py:41(evaluate)
        2    0.000    0.000    0.004    0.002 actions.py:573(do)
        3    0.000    0.000    0.000    0.000 actions.py:381(get_args)
        1    0.000    0.000    0.001    0.001 actions.py:261(do)
        2    0.000    0.000    0.000    0.000 {method '__reduce_ex__' of 'object' objects}
        1    0.000    0.000    0.000    0.000 player.py:140(give)
        3    0.000    0.000    0.000    0.000 card.py:781(__init__)
        1    0.000    0.000    0.000    0.000 actions.py:765(do)
        1    0.000    0.000    0.000    0.000 copy.py:15(copy)
        1    0.000    0.000    0.000    0.000 actions.py:287(choose)
        1    0.000    0.000    0.000    0.000 random_picker.py:48(<listcomp>)
        1    0.000    0.000    0.000    0.000 evaluator.py:146(check)
        1    0.000    0.000    0.000    0.000 aura.py:18(destroy)
        1    0.000    0.000    0.000    0.000 managers.py:53(__init__)
        1    0.000    0.000    0.000    0.000 actions.py:656(do)
        1    0.000    0.000    0.001    0.001 copy.py:22(evaluate)
        2    0.000    0.000    0.000    0.000 iostream.py:93(_is_master_process)
        1    0.000    0.000    0.238    0.238 <string>:1(<module>)
        1    0.000    0.000    0.003    0.003 actions.py:256(get_args)
        5    0.000    0.000    0.000    0.000 lazynum.py:116(evaluate)
        3    0.000    0.000    0.000    0.000 card.py:50(__hash__)
        2    0.000    0.000    0.000    0.000 actions.py:733(do)
        1    0.000    0.000    0.000    0.000 actions.py:820(do)
        5    0.000    0.000    0.000    0.000 selector.py:297(<lambda>)
        2    0.000    0.000    0.000    0.000 card.py:194(_destroy)
        2    0.000    0.000    0.000    0.000 random.py:214(randint)
        1    0.000    0.000    0.000    0.000 {built-in method builtins.print}
        1    0.000    0.000    0.000    0.000 actions.py:218(do)
        1    0.000    0.000    0.000    0.000 actions.py:72(then)
        1    0.000    0.000    0.000    0.000 evaluator.py:138(__init__)
        2    0.000    0.000    0.000    0.000 random.py:170(randrange)
        1    0.000    0.000    0.000    0.000 evaluator.py:20(__and__)
        1    0.000    0.000    0.000    0.000 card.py:801(get_damage)
        1    0.000    0.000    0.000    0.000 actions.py:521(do)
        1    0.000    0.000    0.000    0.000 player.py:75(heropower_damage)
        1    0.000    0.000    0.000    0.000 actions.py:654(<listcomp>)
        1    0.000    0.000    0.000    0.000 actions.py:271(get_args)
        2    0.000    0.000    0.000    0.000 player.py:144(prepare_deck)
        3    0.000    0.000    0.000    0.000 {method 'insert' of 'list' objects}
        2    0.000    0.000    0.000    0.000 iostream.py:102(_check_mp_mode)
        2    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
        1    0.000    0.000    0.000    0.000 game.py:295(pick_first_player)
        1    0.000    0.000    0.000    0.000 card.py:373(delayed_destruction)
        1    0.000    0.000    0.000    0.000 aura.py:6(__init__)
        1    0.000    0.000    0.000    0.000 actions.py:703(do)
        2    0.000    0.000    0.000    0.000 {built-in method __new__ of type object at 0x10022c440}
        2    0.000    0.000    0.000    0.000 {built-in method posix.getpid}
        1    0.000    0.000    0.000    0.000 actions.py:282(do)
        2    0.000    0.000    0.000    0.000 {built-in method builtins.id}
        5    0.000    0.000    0.000    0.000 card.py:47(__str__)
        1    0.000    0.000    0.000    0.000 managers.py:72(start_game)
        1    0.000    0.000    0.000    0.000 evaluator.py:25(__or__)
        2    0.000    0.000    0.000    0.000 {built-in method time.time}
        1    0.000    0.000    0.000    0.000 card.py:507(windfury)
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
        2    0.000    0.000    0.000    0.000 {built-in method builtins.issubclass}
        1    0.000    0.000    0.000    0.000 random_picker.py:23(cards)
        1    0.000    0.000    0.000    0.000 copy.py:28(<listcomp>)
        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
        1    0.000    0.000    0.000    0.000 evaluator.py:13(__init__)
        1    0.000    0.000    0.000    0.000 actions.py:830(do)
        3    0.000    0.000    0.000    0.000 {method 'add' of 'set' objects}
        2    0.000    0.000    0.000    0.000 {method 'write' of '_io.StringIO' objects}
        2    0.000    0.000    0.000    0.000 player.py:77(<genexpr>)
        1    0.000    0.000    0.000    0.000 card.py:381(to_be_destroyed)
        1    0.000    0.000    0.000    0.000 entity.py:104(clear_buffs)
@smallnamespace smallnamespace self-assigned this Feb 6, 2016
@smallnamespace
Copy link
Collaborator Author

I'm starting to look at the selector code.

@jleclanche
Copy link
Owner

f964941 should greatly improve performance, especially for short games.

@smallnamespace
Copy link
Collaborator Author

Old selectors used about 38% of total runtime (by module name), new selectors use about 15%.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants