Skip to content

Commit bafd18b

Browse files
committed
Merge pull request #1559 from petermm/docs-perf-build-options
Docs: Performance - build options Document CONFIG_COMPILER_OPTIMIZATION_PERF and MBEDTLS_ECP_FIXED_POINT_OPTIM in Performance and Power docs. related: #1558 These changes are made under both the "Apache 2.0" and the "GNU Lesser General Public License 2.1 or later" license terms (dual license). SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
2 parents 9bc311d + 6e3772b commit bafd18b

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

doc/src/build-instructions.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,22 @@ For persisting small amounts of data during deep sleep, you can use the [RTC mem
377377

378378
Usage of light sleep is untested, and no support for controlling light sleep is currently implemented. Reach out if you do any experiments and measurements.
379379

380+
#### Other Build settings
381+
382+
Various other build settings can be changed in `idf.py menuconfig` in `src/platforms/esp32`, that affect the performance and power usage of the ESP32.
383+
384+
Of note AtomVM releases are built with the `Optimize for performance (-O2)` compiler option:
385+
Use `idf.py menuconfig` in `src/platforms/esp32`
386+
`Compiler options ---> Optimization Level () --->`
387+
388+
See [CONFIG_COMPILER_OPTIMIZATION_PERF](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/kconfig-reference.html#config-compiler-optimization)
389+
390+
And all builds are built with the mbedTLS `Enable fixed-point multiplication optimisations` option:
391+
Use `idf.py menuconfig` in `src/platforms/esp32`
392+
`Component config ---> mbedTLS ---> Enable fixed-point multiplication optimisations`
393+
394+
See [MBEDTLS_ECP_FIXED_POINT_OPTIM](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/kconfig-reference.html#config-mbedtls-ecp-fixed-point-optim)
395+
380396
### Flash Layout
381397

382398
The AtomVM Flash memory is partitioned to include areas for the above binary artifacts created from the build, as well areas for runtime information used by the ESP32 and compiled Erlang/Elixir code.

0 commit comments

Comments
 (0)