You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have some ideas on how loop unrolling could be done very efficiently. However, that is purely theoretical and would require performance measurements.
The idea is as follows: In almost all cases, we know how many iteration steps there will be before the actual iteration is done. Additionally, the code for a trie walk is exactly the same, with the possible exception of the last step. Henceforth, loop unrolling can, with some macro tricks, be done as shown on the experimental branch.
There are some other tricks which can be used as well, for example fact that any subtrie not containing a size table will never have a child with a size table (this is where it gets messy).
The text was updated successfully, but these errors were encountered:
I have some ideas on how loop unrolling could be done very efficiently. However, that is purely theoretical and would require performance measurements.
The idea is as follows: In almost all cases, we know how many iteration steps there will be before the actual iteration is done. Additionally, the code for a trie walk is exactly the same, with the possible exception of the last step. Henceforth, loop unrolling can, with some macro tricks, be done as shown on the experimental branch.
There are some other tricks which can be used as well, for example fact that any subtrie not containing a size table will never have a child with a size table (this is where it gets messy).
The text was updated successfully, but these errors were encountered: