Skip to content
alexrudy edited this page Feb 14, 2012 · 2 revisions

Simulators

This page contains information about the development plans and ideas for simulators.

Philosophy

The simulator code base is designed to make large bodies of code more segmented and usable. It is designed to simultaneously make development of large routines easier, and to make the use of those routines in the finished project easy.

The fundamental unit of the simulator is the stage. Each stage performs some set of actions (which could be none) and depends on other stages for its processing. This allows the end-user to call individual stages for completion, and have the program run all of the required stages to successfully complete those individual stages.

Improvements

Profiling

The simulator is a natural fit for basic time, performance and memory profiling. The first two can be easily accomplished within the simulator framework, and if requested, the simulator should produce an output file profiling the length of time each stage took. It would be nice if python could introspectively memory profile. Unfortunately, I need to do more research to understand that in the context of numpy-heavy python programs.

Optional Stages

Some stages should be included by default, but not cause flags/warnings when they are skipped or excluded. These stages should be identified by an optional parameter.

Clone this wiki locally