micropython/tools
Artyom Skrobov 18b1ba086c py/qstr: Separate hash and len from string data.
This allows the compiler to merge strings: e.g. "update",
"difference_update" and "symmetric_difference_update" will all point to the
same memory.

No functional change.

The size reduction depends on the number of qstrs in the build.  The change
this commit brings is:

   bare-arm:    -4 -0.007%
minimal x86:  +150 +0.092% [incl +48(data)]
   unix x64:  -608 -0.118%
unix nanbox:  -572 -0.126% [incl +32(data)]
      stm32: -1392 -0.352% PYBV10
     cc3200:  -448 -0.244%
    esp8266: -1208 -0.173% GENERIC
      esp32: -1028 -0.068% GENERIC[incl -1020(data)]
        nrf:  -440 -0.252% pca10040
        rp2: -1072 -0.217% PICO
       samd:  -368 -0.264% ADAFRUIT_ITSYBITSY_M4_EXPRESS

Performance is also improved (on bare metal at least) for the
core_import_mpy_multi.py, core_import_mpy_single.py and core_qstr.py
performance benchmarks.

Originally at adafruit#4583

Signed-off-by: Artyom Skrobov <tyomitch@gmail.com>
2022-02-11 22:52:32 +11:00
..
autobuild tools/autobuild: Provide .uf2 images for esp32 builds when available. 2022-02-02 23:47:49 +11:00
mpremote tools/mpremote: Fix special handling of ctrl-D when host FS is mounted. 2022-02-07 13:21:29 +11:00
.gitattributes micropython-upip: Mark as binary file and re-commit. 2015-06-06 23:09:23 +03:00
.gitignore tools: check-in errordeveloper/tinytest@eb2dbc858f 2014-05-08 01:41:21 +03:00
cc1 tools: Add C middle-processor to make builtin tables proper hash tables. 2015-12-31 00:24:33 +00:00
ci.sh tools/ci: Test math constants with MICROPY_OBJ_REPR_D. 2022-01-23 09:28:33 +11:00
codeformat.py drivers/ninaw10: Add ublox Nina-W10 WiFi/BT module driver. 2021-11-13 23:01:03 +11:00
codestats.sh all: Update Makefiles and others to build with new ports/ dir layout. 2017-09-06 14:09:13 +10:00
dfu.py tools/dfu.py: Make tool work with python3 when parsing DFU files. 2021-11-01 15:46:59 +11:00
file2h.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
gen-changelog.sh Rename "Micro Python" to "MicroPython" in REPL, help, readme's and misc. 2015-10-12 00:06:25 +01:00
gen-cpydiff.py tools/gen-cpydiff.py: Don't rename foo to ufoo in diff output. 2021-08-13 23:14:08 +10:00
gendoc.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
insert-usb-ids.py ports: Rename USBD_VID/PID config macros to MICROPY_HW_USB_VID/PID. 2021-08-07 23:13:55 +10:00
makemanifest.py py: Only search frozen modules when '.frozen' is found in sys.path. 2021-12-18 00:01:59 +11:00
metrics.py tools/metrics.py: Add rp2 port to table of ports that can be built. 2021-04-20 21:39:53 +10:00
mpy-tool.py py/qstr: Separate hash and len from string data. 2022-02-11 22:52:32 +11:00
mpy_bin2res.py tools/mpy_bin2res: Tools to convert binary resources to Python module. 2017-07-27 14:41:27 +03:00
mpy_cross_all.py all: Remove MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE. 2021-09-16 16:04:03 +10:00
mpy_ld.py all: Remove MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE. 2021-09-16 16:04:03 +10:00
pyboard.py tools/pyboard.py: Make --no-soft-reset consistent with other args. 2021-08-25 15:47:01 +10:00
pydfu.py all: Update Python formatting to latest Black version 21.12b0. 2021-12-09 12:09:40 +11:00
tinytest-codegen.py tests/basics: Split f-string debug printing to separate file with .exp. 2021-08-26 23:56:02 +10:00
uf2conv.py tools/uf2conv.py: Update to latest version. 2022-02-02 23:43:58 +11:00
uf2families.json tools/uf2conv.py: Update to latest version. 2022-02-02 23:43:58 +11:00
uncrustify.cfg tools/uncrustify: Force 1 newline at end of file. 2021-08-31 13:14:45 +10:00
upip.py tools/upip.py: Skip '.frozen' entry in sys.path for install path. 2021-12-29 23:55:37 +11:00
upip_utarfile.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
verifygitlog.py tools/verifygitlog.py: Show required format regexp in error message. 2021-02-21 15:55:44 +11:00