Pyevolve profiling dot graph

Reading Time: 1 minute

I’ve created a profiling dot graph of the pyevolve_example15_rosenbrock.py with the Gprof2Dot, this Pyevolve example is the minimization of the Rosenbrock function with 20 variables.

stat

I’ve created that graph to show the call structure of Pyevolve, as you can see, the accumulation in FunctionSlot applyFunctions method is the effect of the use of FunctionSlot use in many operations like scaling,  selection, evaluation, crossover and mutation.

4 Comments

  1. Oi! I wonder, have you ever tried optimizing the time hogs with cython?

    I am guessing that *at least* the rosenbrock evaluation would see a significant speedup just because of how simple it is. It uses normal lists and probably can be ported into almost pure C.

    But what about the mutator functions? Is there a specific mutator that uses mostly primitive objects, like maybe the binary genome mutator? Maybe even the 1DListGenome would work.

    I’ll get back with you later this week if I can figure out the best way of pulling these routines out. It’s surprising how much can be accomplished with cython and a bit of well formed code 🙂

    -Blaine

  2. One more thing – mind posting, if you recall, what command params you used to produce this png? I’d like to compare my results.

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.