aspnetcore/src/Microsoft.AspNet.Routing
Ryan Nowak f95ffb57ae Make dictionary allocations lazy on RouteData
This change makes the allocation of DataTokens and Values on RouteData
lazy, and elides copies when copying an 'empty' RouteData.

In our current architecture this change will eliminiate 2 * (N + 1)
dictionary allocations/copies per request, where N is the number of routes
processed. In a large system with lots of attribute routes, this number
could be very significant.

For a small MVC site (ModelBinding, Validation, Views) with one route, it
still shows a modest reduction of dictionary allocations without adding
much complexity.
2015-09-28 22:54:32 -07:00
..
Constraints Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
Logging Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
Properties Adding NeutralResourcesLanguageAttribute 2015-09-10 18:29:07 -07:00
Template Make dictionary allocations lazy on RouteData 2015-09-28 22:54:32 -07:00
BuilderExtensions.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
DefaultInlineConstraintResolver.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
IInlineConstraintResolver.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
INamedRouter.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
IRouteBuilder.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
IRouteCollection.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
IRouteConstraint.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
IRouter.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
InlineRouteParameterParser.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
Microsoft.AspNet.Routing.xproj
Resources.resx
RouteBuilder.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
RouteBuilderExtensions.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
RouteCollection.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
RouteConstraintBuilder.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
RouteConstraintMatcher.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
RouteContext.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
RouteData.cs Make dictionary allocations lazy on RouteData 2015-09-28 22:54:32 -07:00
RouteDirection.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
RouteOptions.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
RouteValueDictionary.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
RouterMiddleware.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
RoutingServices.cs Added configure options. Added default default addoptions call 2015-09-04 08:48:46 -07:00
ServiceCollectionExtensions.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
VirtualPathContext.cs Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
VirtualPathData.cs Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
project.json Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00