Commit Graph

11 Commits

Author SHA1 Message Date
Ryan Nowak d4b96b27c0 Optimize RouteValueDictionary, expose concrete type
This change optimizes allocations by RouteValueDictionary based on usage.

First, implement a struct Enumerator, and expose the concrete RVD type
from all extensibility points. We wanted to try and decouple this code
from RVD originally and use IDictionary everywhere. After doing that we've
found that it allocates an unacceptable number of enumerators.

Secondly, optimize copies of RVD for the case where you're copying an RVC
to another (common case). When doing this we can copy the count to get the
right capacity, and copy the entries without allocating an enumerator.

Lastly, optimize RVD for the case where it's a wrapper around a poco
object. We 'upgrade' to a writable full dictionary if you try to write to
it, or call one of a number of APIs that are uncommonly used. We could
produce optimized versions of things like `Keys` and `CopyTo` if necessary
in the future.
2015-11-25 09:49:10 -08:00
Kiran Challa f2e6c294b0 Address feedback for PR: https://github.com/aspnet/Routing/pull/182 2015-05-05 12:39:32 -07:00
N. Taylor Mullen 352732fc62 Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
Kiran Challa 1f6d3fe4cc Fix RouteValueDictionary to handle read-only dictionaries. 2015-05-01 11:55:01 -07:00
Doug Bunting 3b0e289387 Apply VS' FormatDocument and RemoveAndSort to all *.cs files
- #EngineeringDay
- this repo was relatively clean
2014-11-20 10:09:28 -08:00
Doug Bunting 1a101d7815 Delete trailing whitespace
- #EngineeringDay
- Total replaced: 105  Matching files: 44 in *.cs files
- Total replaced: 27  Matching files: 1 in all other files
2014-11-20 09:40:12 -08:00
Pranav K dcd921005c Updating tests to run on Mono
Fixes #95
2014-09-22 11:19:13 -07:00
Andrew Peters feb150570a Updating copyright headers 2014-05-08 23:01:29 -07:00
anpete 51317a7039 Update file headers 2014-05-01 17:41:33 -07:00
Ryan Nowak e1a8b5e140 Update xunit in text project and add k10 version 2014-03-17 14:48:35 -07:00
Ryan Nowak 89eb6e6445 Some extra resiliance and tests! Oh glorious tests. 2014-03-05 11:27:06 -08:00