diff options
author | Damien George <damien.p.george@gmail.com> | 2019-02-25 23:15:51 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2019-03-05 16:25:07 +1100 |
commit | 5996eeb48fa6ce773003eacbc7e0b52ad5cc4d31 (patch) | |
tree | b5a1fe800073108d5da9abf84c59aa5387ec537e /py/makeqstrdata.py | |
parent | 5a2599d96299ad37cda954f1de345159f9acf11c (diff) |
py/persistentcode: Add a qstr window to save mpy files more efficiently.
This is an implementation of a sliding qstr window used to reduce the
number of qstrs stored in a .mpy file. The window size is configured to 32
entries which takes a fixed 64 bytes (16-bits each) on the C stack when
loading/saving a .mpy file. It allows to remember the most recent 32 qstrs
so they don't need to be stored again in the .mpy file. The qstr window
uses a simple least-recently-used mechanism to discard the least recently
used qstr when the window overflows (similar to dictionary compression).
This scheme only needs a single pass to save/load the .mpy file.
Reduces mpy file size by about 25% with a window size of 32.
Diffstat (limited to 'py/makeqstrdata.py')
0 files changed, 0 insertions, 0 deletions