RustPython / Parser

MIT License
77 stars 29 forks source link

Investigate alternate PHF algorithms for detecting keywords #51

Open DimitrisJim opened 1 year ago

DimitrisJim commented 1 year ago

This relates to a discussion on discord a while back.

The basic idea is that we can create a custom hash function for our keywords that's based on their structure (see related video in discussion) and possibly gain a good perf boost by replacing rust_phf. It still needs some investigating and bench-marking to actually evaluate if this would result in any significant improvement.

Afaik, this usually results in a bigger table being generated (for a keyword set of 30 odd functions, we might need a table of 1024 or 2048 elements mostly filled with None's) but that's a small price to pay considering this table should only be generated for the keywords and nothing else.