micropython/tools
Jim Mussared 7ea503929a py/qstr: Add support for MICROPY_QSTR_BYTES_IN_HASH=0.
This disables using qstr hashes altogether, which saves RAM and flash
(two bytes per interned string on a typical build) as well as code size.
On PYBV11 this is worth over 3k flash.

qstr comparison will now be done just by length then data. This affects
qstr_find_strn although this has a negligible performance impact as, for a
given comparison, the length and first character will ~usually be
different anyway.

String hashing (e.g. builtin `hash()` and map.c) now need to compute the
hash dynamically, and for the map case this does come at a performance
cost.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2024-01-25 16:38:17 +11:00
..
autobuild
mpremote tools/mpremote: Reduce dependency on importlib_metadata. 2024-01-17 11:27:47 +11:00
.gitattributes
.gitignore
boardgen.py
cc1
ci.sh tests: Move port-specific test directories into tests/ports/ directory. 2024-01-22 11:48:27 +11:00
codeformat.py
codestats.sh
dfu.py
file2h.py
gen-changelog.sh tools/gen-changelog.sh: Exclude "-preview" tags from generated log. 2024-01-05 15:06:14 +11:00
gen-cpydiff.py docs: Add note about position-only arguments in CPython vs MicroPython. 2024-01-25 11:56:38 +11:00
hci_trace_to_pcap.py
insert-usb-ids.py
makemanifest.py
manifestfile.py tools/manifestfile.py: Add support for external libraries. 2023-12-21 15:28:32 +11:00
metrics.py
mpy-tool.py py/qstr: Add support for MICROPY_QSTR_BYTES_IN_HASH=0. 2024-01-25 16:38:17 +11:00
mpy_bin2res.py
mpy_cross_all.py
mpy_ld.py
pyboard.py
pydfu.py
tinytest-codegen.py tools/tinytest-codegen.py: Externalise tests list. 2023-11-07 15:53:27 +11:00
uf2conv.py
uf2families.json
uncrustify.cfg
verifygitlog.py