Using ref is sometimes extremely expensive when referencing values parsed very "early" in large ParseGraphs. This is a common pitfall in many tokens. We can improve this by creating a cache for all parsed values, which is used by evaluating a ref.
An example: the CFB format contains a 'sector size' in its header, which is used throughout the token. The lookup of this sector size becomes extremely slow in CFB with large sector chains.
Using
ref
is sometimes extremely expensive when referencing values parsed very "early" in largeParseGraph
s. This is a common pitfall in many tokens. We can improve this by creating a cache for all parsed values, which is used by evaluating aref
.An example: the CFB format contains a 'sector size' in its header, which is used throughout the token. The lookup of this sector size becomes extremely slow in CFB with large sector chains.