You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Discussed on the forum. Quintessence is when we store the program graph in various global structures with tricky access functions we give a little chance for a C++ compiler to optimize.
If the desired sequence of evaluation would be presented as the code we should get a considerable efficiency boost both in terms of execution speed and RAM consumption.
Acceptance criteria
Here is a patch:
maps are from [0, 1] to [0, 1.1]. Compiled for Arduino UNO it gives:
Sketch uses 4244 bytes (13%) of program storage space. Maximum is 32256 bytes.
Global variables use 1030 bytes (50%) of dynamic memory, leaving 1018 bytes for local variables. Maximum is 2048 bytes.
After the loop unroll we should get less dynamic memory usage.
If we’d uncomment:
// Uncomment to turn on debug of the program
#define XOD_DEBUG
// Uncomment to trace the program runtime in the Serial Monitor
#define XOD_DEBUG_ENABLE_TRACE
We can see 34 transactions are done per second. That characteristic should be not worse after the optimization.
The text was updated successfully, but these errors were encountered:
Rationale
Discussed on the forum. Quintessence is when we store the program graph in various global structures with tricky access functions we give a little chance for a C++ compiler to optimize.
If the desired sequence of evaluation would be presented as the code we should get a considerable efficiency boost both in terms of execution speed and RAM consumption.
Acceptance criteria
Here is a patch:
maps are from [0, 1] to [0, 1.1]. Compiled for Arduino UNO it gives:
After the loop unroll we should get less dynamic memory usage.
If we’d uncomment:
We can see 34 transactions are done per second. That characteristic should be not worse after the optimization.
The text was updated successfully, but these errors were encountered: