any recommandation of papers or projects I should look at about efficient HTTP routing? I’m trying to improve sozu’s router https://github.com/sozu-proxy/sozu/issues/571 … It’s a trie with a few optimizations, matching on reversed hostname, then linear rules for URL prefixes
-
Show this thread
-
Replying to @gcouprie
You can have a look to https://nikic.github.io/2014/02/18/Fast-request-routing-using-regular-expressions.html … or the symfony router who is even faster
1 reply 0 retweets 0 likes -
Replying to @lyrixx
I found this article a while ago, and I wanted to try regex aggregation (after compilation) but so far FSM solutions have not been fast enough :/
1 reply 0 retweets 0 likes -
@burntsushi5 has released a version of the regex crate where expressions are compiled at compiled-time. It might interest you. I think it is https://crates.io/crates/regex-automata ….1 reply 0 retweets 0 likes -
I don’t need compile time, routing is modified at runtime. But a more efficient aggregation of thousands of regexes would be interesting. I tried the fst crate but I don’t understand it enough yethttps://github.com/sozu-proxy/trie_benches/blob/master/src/experiment4_fst.rs …
1 reply 0 retweets 1 like -
I was about to suggest fst!
@burntsushi5 wrote a blog post to explain how it works AFAIK.1 reply 0 retweets 0 likes -
I read it a few times already :) Things that are annoying for my use case: the list of keys must be sorted, so if I edit it I must regenerate the whole machine. Regexes apparently generate huge machines? I do not understand yet the format generated and interpreted
4 replies 0 retweets 1 like
The Lucene approach would be to build a new fst for every mutation. Search then needs to ask each fst fir an answer. If you get too many fsts, then you stop and merge them into one.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.