Submatch has been sped up by implementing a modified Boyer–Moore–Horspool algorithm with an average-case complexity of O(N) on random text. Worst case, it behaves similarly to the previous implementation O(MN), where M is the length of the boundary and N is the length of the buffer to operate on. Method SubMatch looks for two things: 1. Whether the byte array segment fully contains the boundary, or 2. Whether the byte array ends with the start of the boundary. Case 1 is now a lot faster than the previous implementation. Case 2 remains using the same code as before. The method will do Case 1 until the matchOffset is equal to N-M. It then switches to Case 2, unless a match is found. The code can be further sped up with a full Boyer–Moore implementation, or something more sophisticated. This however can be evaluated in the case that this implementation is insufficiently performant for our main scenarios. This commit resolves issue #575. |
||
|---|---|---|
| samples/SampleApp | ||
| src | ||
| test | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| HttpAbstractions.sln | ||
| LICENSE.txt | ||
| NuGet.config | ||
| NuGetPackageVerifier.json | ||
| README.md | ||
| appveyor.yml | ||
| build.cmd | ||
| build.ps1 | ||
| build.sh | ||
| global.json | ||
| makefile.shade | ||
README.md
HttpAbstractions
| AppVeyor | Travis |
|---|---|
Contains HTTP abstractions for ASP.NET 5 such as HttpContext, HttpRequest, HttpResponse and RequestDelegate.
It also contains IApplicationBuilder and extensions to create and compose your application's pipeline.
This project is part of ASP.NET 5. You can find samples, documentation and getting started instructions for ASP.NET 5 at the Home repo.