Commit Graph

16 Commits

Author SHA1 Message Date
Ryan Nowak ef6f326188 Add experimental JumpTables
Also reduced the count of entries of the max iteration to 25. The main
issue that we're trying to solve right now is which approach is the best
with a small number of entries. Going up to 100 takes a loooong time,
and all of the dictionary-based approaches scale well above 10 or so
entries.
2018-07-13 20:42:58 -07:00
Kiran Challa 42708bec91 Added support for route constraints in Dispatcher world 2018-07-13 14:18:54 -07:00
Ryan Nowak 7209cab5e9
Productize JumpTable (#594)
* Productize JumpTable
2018-07-12 23:28:51 -07:00
Kiran Challa 3a022107dc Revert "Added support for route constraints in Dispatcher world"
This reverts commit 85e92ab3cc.
2018-07-12 06:24:37 -07:00
Nate McMaster 85e92ab3cc Added support for route constraints in Dispatcher world 2018-07-12 05:06:22 -07:00
Ryan Nowak 576c14a1b5 Remove InstructionMatcher 2018-07-11 23:47:57 -07:00
Ryan Nowak 7aba48ca27 Add support for httpmethods in swaggatherer 2018-07-11 21:44:55 -07:00
Kiran Challa 1009705283 Added a RouteValuesBasedEndpointFinder 2018-06-28 10:53:10 -07:00
Ryan Nowak 30fcfb65ea Productionize Path tokenization 2018-06-21 17:13:03 -07:00
Ryan Nowak 5b8db03a57 Fixing up a few small issues
The instruction matcher was missing a few details, which made it faster
than it should have been. Right now I'm trying to keep the design of
these in sync. Once I fixed that it exposed a legitimate bug that was
blocking the github benchmark.
2018-06-15 18:04:43 -07:00
Ryan Nowak 00e99dbbb2 Flesh out experimental matchers
This change improves this area a bit by consolidating the matcher
implementations between the benchmarks project and the conformance
tests.

Additionally I split the minimal matcher into a really trivial
implementation for the simple tests and a more complex one for the
larger tests. This allows us to keep the plaintext/techempower scenario
in sight while also having a good baseline for the more sophisticated
tests.

Also starting to add tests that verify that matchers behave as expected.

The matchers now successfully execute all of these benchmarks, which
means that they support literals and parameters.

Missing features:
- complex segments
- catchall
- default values
- optional parameters
- constraints
- complex segments with file extensions

This is a good place to iterate a bit more of perf and try to make a
decision about what we want to implement.
2018-06-15 15:43:50 -07:00
Kiran Challa d3ddc1709a Added initial support for link generation when using Dispatcher 2018-06-14 15:31:30 -07:00
Ryan Nowak 08f12f2bfd Add sample matcher tests 2018-06-09 13:29:06 -07:00
Ryan Nowak edf26be1bf move feature around 2018-06-06 21:50:07 -07:00
Ryan Nowak 72941a8f35 Remove old cruft
Our new benchmarks are already much better than this one.
2018-06-06 21:50:07 -07:00
Ryan Nowak 49f839a286 Add benchmarks for matcher implementations 2018-06-06 21:50:07 -07:00