Ignore:
Timestamp:
03/27/21 03:42:04 (3 years ago)
Author:
Maciej Komosinski
Message:

Improved performance significantly by moving the step-by-step simulation loop from python to FramScript?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • framspy/FramsticksLib.py

    r1114 r1116  
    8181                frams.Simulator.init()
    8282                frams.Simulator.start()
    83                 step = frams.Simulator.step  # cache reference to avoid repeated lookup in the loop (just for performance)
    84                 while frams.Simulator.running._int():  # standard-eval.expdef sets running to 0 when the evaluation is complete
    85                         step()
     83
     84                # step = frams.Simulator.step  # cache reference to avoid repeated lookup in the loop (just for performance)
     85                # while frams.Simulator.running._int():  # standard-eval.expdef sets running to 0 when the evaluation is complete
     86                #       step()
     87                frams.Simulator.eval("while(Simulator.running) Simulator.step();")  # fastest
     88                # Timing for evaluating a single simple creature 100x:
     89                # - python step without caching: 2.2s
     90                # - python step with caching   : 1.6s
     91                # - pure FramScript and eval() : 0.4s
    8692
    8793                if not self.PRINT_FRAMSTICKS_OUTPUT:
Note: See TracChangeset for help on using the changeset viewer.