Optimizations
Disabling platform message logging¶
Requirements: cyst-core@0.6.2 and aica-challenge-1@1.2.2
In its default state, the platform logs as much activity to the database as possible, as you can see in the analysis section. However, oftentimes, you do not need the full logging package, especially every hop of every message, which may be important in the debugging phase, but otherwise are pretty useless.
To turn off the message hop logging (you will still have the messages in the database, but not the interim steps between devices), just add the following custom parameter to a run specification:
disable_platform_logging = 1
So that it look like this, when you view the run specification:

This should reduce a runtime of your episode to about 1/2 or 1/3.
Batch storage of episode data¶
Requirements: cyst-core@0.6.3 and aica-challenge-1@1.3.1
By default, when logging into the database, all information is written as soon as possible. That way, when something goes wrong, you can be sure that you have as much information as possible for post-mortem analysis. However, the constant database writing can cause many I/O bound delays. Therefore, if you know that there will be no exceptions bringing the whole program down, you can turn on a batch storage of data. That way, whole episode data is stored when the episode finishes.
To turn it off, follow the same pattern as with the previous optimization and add this as a custom parameter for a run:
data_batch_storage = 1
Depending on the number of messages (and whether you enabled the previous optimization), this can speed-up the execution significantly.