[PR #213] [CLOSED] Update micropython to 1.18 #316

Closed
opened 2026-05-06 13:16:47 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/UpsilonNumworks/Upsilon/pull/213
Author: @Tunas1337
Created: 4/21/2022
Status: Closed

Base: upsilon-devHead: upsilon-mpy-1.18


📝 Commits (1)

  • eb1f756 Update micropython to 1.18

📊 Changes

82 files changed (+3446 additions, -2488 deletions)

View changed files

📝 apps/atomic (+1 -1)
📝 apps/code/variable_box_controller.cpp (+1 -1)
📝 python/Makefile (+118 -119)
📝 python/port/genhdr/qstrdefs.in.h (+342 -15)
📝 python/port/mod/matplotlib/pyplot/modpyplot.cpp (+1 -6)
📝 python/src/py/asmbase.c (+2 -1)
📝 python/src/py/asmbase.h (+1 -1)
📝 python/src/py/asmxtensa.c (+22 -10)
📝 python/src/py/asmxtensa.h (+4 -2)
📝 python/src/py/bc.c (+48 -41)
📝 python/src/py/bc.h (+74 -18)
📝 python/src/py/bc0.h (+23 -11)
📝 python/src/py/builtin.h (+2 -0)
📝 python/src/py/builtinevex.c (+1 -1)
📝 python/src/py/builtinhelp.c (+6 -11)
📝 python/src/py/builtinimport.c (+334 -241)
📝 python/src/py/compile.c (+224 -216)
📝 python/src/py/compile.h (+2 -1)
📝 python/src/py/dynruntime.h (+5 -5)
📝 python/src/py/dynruntime.mk (+0 -2)

...and 62 more files

📄 Description

I took the liberty of upgrading the microPython version to 1.18.
According to the changelog:

This release of MicroPython sees a boost to the overall performance of the
VM and runtime.  This is achieved by the addition of an optional cache to
speed up general hash table lookups, as well as a fast path in the VM for
the LOAD_ATTR opcode on instance types.  The new configuration options are
MICROPY_OPT_MAP_LOOKUP_CACHE and MICROPY_OPT_LOAD_ATTR_FAST_PATH.  As part
of this improvement the MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE option has
been removed, which provided a similar map caching mechanism but with the
cache stored in the bytecode, which made it not useful on bare metal ports.
The new mechanism is measured to be at least as good as the old one,
applies to more map lookups, has a constant RAM overhead, and applies to
native code as well as bytecode.

I'm unsure if these are applied by default, but I'm open to someone reviewing this commit to enable any optimizations that would be nice to have.

Yes, it does compile and function. See below:
20220420_222934
20220420_222901


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/UpsilonNumworks/Upsilon/pull/213 **Author:** [@Tunas1337](https://github.com/Tunas1337) **Created:** 4/21/2022 **Status:** ❌ Closed **Base:** `upsilon-dev` ← **Head:** `upsilon-mpy-1.18` --- ### 📝 Commits (1) - [`eb1f756`](https://github.com/UpsilonNumworks/Upsilon/commit/eb1f7561a3a99aaf392050ba048870b60daab0e0) Update micropython to 1.18 ### 📊 Changes **82 files changed** (+3446 additions, -2488 deletions) <details> <summary>View changed files</summary> 📝 `apps/atomic` (+1 -1) 📝 `apps/code/variable_box_controller.cpp` (+1 -1) 📝 `python/Makefile` (+118 -119) 📝 `python/port/genhdr/qstrdefs.in.h` (+342 -15) 📝 `python/port/mod/matplotlib/pyplot/modpyplot.cpp` (+1 -6) 📝 `python/src/py/asmbase.c` (+2 -1) 📝 `python/src/py/asmbase.h` (+1 -1) 📝 `python/src/py/asmxtensa.c` (+22 -10) 📝 `python/src/py/asmxtensa.h` (+4 -2) 📝 `python/src/py/bc.c` (+48 -41) 📝 `python/src/py/bc.h` (+74 -18) 📝 `python/src/py/bc0.h` (+23 -11) 📝 `python/src/py/builtin.h` (+2 -0) 📝 `python/src/py/builtinevex.c` (+1 -1) 📝 `python/src/py/builtinhelp.c` (+6 -11) 📝 `python/src/py/builtinimport.c` (+334 -241) 📝 `python/src/py/compile.c` (+224 -216) 📝 `python/src/py/compile.h` (+2 -1) 📝 `python/src/py/dynruntime.h` (+5 -5) 📝 `python/src/py/dynruntime.mk` (+0 -2) _...and 62 more files_ </details> ### 📄 Description I took the liberty of upgrading the microPython version to 1.18. According to the changelog: > This release of MicroPython sees a boost to the overall performance of the > VM and runtime. This is achieved by the addition of an optional cache to > speed up general hash table lookups, as well as a fast path in the VM for > the LOAD_ATTR opcode on instance types. The new configuration options are > MICROPY_OPT_MAP_LOOKUP_CACHE and MICROPY_OPT_LOAD_ATTR_FAST_PATH. As part > of this improvement the MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE option has > been removed, which provided a similar map caching mechanism but with the > cache stored in the bytecode, which made it not useful on bare metal ports. > The new mechanism is measured to be at least as good as the old one, > applies to more map lookups, has a constant RAM overhead, and applies to > native code as well as bytecode. I'm unsure if these are applied by default, but I'm open to someone reviewing this commit to enable any optimizations that would be nice to have. Yes, it does compile and function. See below: ![20220420_222934](https://user-images.githubusercontent.com/12097904/164359746-e800c0bd-dda3-4625-b3c9-2d681953fcd0.jpg) ![20220420_222901](https://user-images.githubusercontent.com/12097904/164359758-a3750757-5053-4e36-ac03-0f5177e54e5d.jpg) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-06 13:16:47 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Upsilon#316
No description provided.