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
Converting names from text representation to wire format is a relatively straightforward. i.e. foo.bar. is represented in wire format as 3foo3bar0 and since zone files contain domain names for the most part, optimizing this process results in a very significant performance boost. An rudimentary initial attempt can be found here.
Obviously, in the linked attempt, the escaped code is commented out. Currently, I'm of the opinion that the algorithm outlined in #20 may work for names too. So, get token, scan for end-of-token/escape sequences and dots and copy the name into a buffer. Keep the mask for dots around so that after the name has been copied all dots can be replaced by the corresponding label length.
The text was updated successfully, but these errors were encountered:
Add a fallback implementation to support architectures for which no SIMD
implementation is available yet. Sources have been reorganized to allow
for easy optimization per target. ClosesNLnetLabs#4.
Use longjmp for error handling. ClosesNLnetLabs#1.
Add zone-bench to allow for convenient benchmarking.
Vectorize string to wire conversion. ClosesNLnetLabs#20.
Vectorize name to wire conversion. ClosesNLnetLabs#29.
Converting names from text representation to wire format is a relatively straightforward. i.e.
foo.bar.
is represented in wire format as3foo3bar0
and since zone files contain domain names for the most part, optimizing this process results in a very significant performance boost. An rudimentary initial attempt can be found here.Obviously, in the linked attempt, the escaped code is commented out. Currently, I'm of the opinion that the algorithm outlined in #20 may work for names too. So, get token, scan for end-of-token/escape sequences and dots and copy the name into a buffer. Keep the mask for dots around so that after the name has been copied all dots can be replaced by the corresponding label length.
The text was updated successfully, but these errors were encountered: