Compiler options:
- Compiled with -Os
- CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL set to Silent
- MicroOcpp log disabled (-DMOCPP_DBG_LEVEL=MOCPP_DL_NONE)
- Configured for two physical connectors (-DMOCPP_NUMCONNECTORS=3)
General setup:
- no Wi-Fi connection
- although the Mongoose WebSocket adapter is initialized, all traffic is routed though a loopback connection
- no filesystem access
System:
- ESP32-WROOM-32
- CPU frequency: 160 MHz
- ESP-IDF v4.4.1
Total flash usage as printed by idf.py size-components
:
Archive file | Binary size (B) |
---|---|
libMicroOcpp.a | 118,181 |
libMicroOcppMongoose.a | 2,989 |
Application part | Heap usage (B) |
---|---|
Idle library | 12,308 |
Queued GetDiagnostics | 172 |
Running transaction | 268 |
Peak usage | 21,916 |
Application part | Execution time (microseconds) |
---|---|
Initialization (blocking part) | 10,694 |
Initialization (parallel part) | 10,188 |
loop() call average | 54 |
Execute GetDiagnostics | 5,364 |
Authorize, start and stop transaction | 14,212 |
Library deinitialization | 1,665 |
Benchark results ===
ececution times in microseconds:
initalization=10694
initalization_async=10188
loop_idle=54
GetDiagnostics=5364
transaction_cycle=14212
deinitialization=1665
heap occupation in Bytes:
library idle=12308
queued GetDiagnostics=172
running transaction=268
library idle after tx=12576
maximum heap usage=21916
delta largest free block=12288
ESP base before initalization=24964
ESP base after deinitialization=25108
slack=144