Skip to content

Application Optimization

No due date 66% complete

Timeline: This milestone does not have a set timeline yet.

Objectives:

Simulation

The simulation motor code will be optimized for time efficiency primarily, and secondly memory efficiency.
A potential idea is to execute the simulation natively, outside of the JVM (on a compiled language); however, this change is outside of the scope of the project currently.

Timeline: This milestone does not have a set timeline yet.

Objectives:

Simulation

The simulation motor code will be optimized for time efficiency primarily, and secondly memory efficiency.
A potential idea is to execute the simulation natively, outside of the JVM (on a compiled language); however, this change is outside of the scope of the project currently.

Target simulation times need to be set, and benchmarking needs to be done to determine how far away the application currenlty is.

User Interface

The UI takes a while to load, and some computation-intensive operations leave it unresponsive. This needs to change.
The most obvious solution is to make use of multithreading to keep the UI responsive during processing. The applicability of this technique will be investigated.

Serialization

XML Serialization has a lot of redundancy, and sending sending such type of data through the network will incur in high network costs. This is relevant since there is a possibility that the program will be re-structured to work independently as a 'server' to which people can send models to simulate.

A custom bytecode format could reduce the amount of data needed to represent a model.