brute-lee
brute-lee copied to clipboard
Handle large results
- The submission size limit is 100kB
- For JavaScript, the heap is 20MB, so we can decompressed the whole solution at once
- LZMA (best general compression algorithm) in JavaScript
- delta compression -- when it works, it works very well
- pruning of
null
values - Base91 instead of Base64 -- haven't tried, uncertain if the increased compression rate is worth the additional code?
Need to implement all the above, and simplify the code, get rid of chunking.
My idea is to have the solver try to string together a compression pipeline for each submission; it can try all permutations, and pick the best one.
Portability is an issue. It may make sense to keep both LZString and LZMA-JS. Modular approach, as a compression algorithm gets implemented in a particular language, the solver can use it in assembling the pipeline for that language.