Table 2. Speed performance benchmark between StochPy and existing (stochastic) software.
Simulation Type | CAIN | CAIN (API) | StochKit2 | |
Small | 0.7–0.10 | 0.24–0.10 | 0.24–0.07 | 1.0–0.31 |
Non mass-action | 0.5–0.10 | N/A | 96–0.16 | 1.0–0.45 |
Parallel | 0.04–0.07 | 0.04–0.06 | 0.03–0.18 | 0.28–0.33 |
Parallel & time events | 1.9–1.92 | N/A | 1.7–0.18 | 1.0–0.3 |
Parallel & particle number events | 3.2–3.72 | N/A | 1.5–0.18 | 1.0–0.3 |
Assignments | N/A | N/A | N/A | 1.0–1.0 |
Large | 0.14 | 0.28 | 0.09 | 0.56 |
XL | 0.15 | 0.31 | 0.11 | 0.66 |
XXL | 0.24 | 0.37 | 0.11 | 0.93 |
Results of benchmarking the direct method of StochPy. Simulation time was divided by the simulation time of the StochPy solvers: StochPy’s solver was faster if the reported ratio’s are larger than one and vice versa. A “−” indicates that short and long simulations were done to illustrate the potential difference between them. N/A is shown if the simulator was not possible to perform the simulation. For parallel simulations, 100 trajectories were done. In each comparison the number of fixed intervals was equal to the number of time steps in the simulation. Simulations were done on a Intel Core i5-2430M CPU 2.40 GHz×4 64-bit with Ubuntu 12.04 LTS as operating system. Stochastic models and a script to simulate these models within StochPy are available in Scripts S2.
Notes:
StochPy with interfaces to CAIN and StochKit2. Simulation time includes time to parse results into StochPy.
Cain cannot parse events, so the user most specify them in the GUI.
Optimal theoretical result without including time to merge the output of all sequential simulations.