micropython / micropython/micropython-esp32-ulp
optimizing memory usage
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 142
- Forks
- 25
- PR merge metrics
- No merged PRs in 30d
Description
py-esp32-ulp is able to assemble about 3kB of source code (when it is running on a standard ESP32 "WROOM" chip) - more gives a MemoryError (out of memory). Bigger amounts of source code can be assembled when running on a device with more RAM (like on a development machine running the UNIX port of micropython).
PR #36 improved this a bit by calling the garbage collector now and then.
The limit looks rather low, but considering that the ULP has only a total of 4kiB of RAM and that we will likely only be allowed to use ~2kiB of it from micropython and that usually some of it is needed as a buffer (thus: not for code), the limit doesn't look too bad.
(moved from #35)
We can collect ideas here about how to improve memory usage in case we need to.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by reproducing the roughly 3 kB source limit on a standard ESP32 WROOM and compare it with the UNIX MicroPython port; a concrete improvement and measurable memory-usage target would need to be defined before work is considered done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100