[ 
https://issues.apache.org/jira/browse/IGNITE-4899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15958343#comment-15958343
 ] 

Pavel Tupitsyn edited comment on IGNITE-4899 at 4/6/17 6:07 AM:
----------------------------------------------------------------

TC looks good, merged to master:

* Replaced {{IDictionary}} with {{IEnumerable<KeyValuePair>}} in {{PutAll}}, 
this is backwards compatible and allows lazy enumerables.
* Replaced {{IDictionary}} with {{ICollection<ICacheEntry>}} in {{GetAll}}, 
this is consistent with query methods, enumerator, etc., and more efficient.
* Replaced  {{IDictionary<TK, ICacheEntryProcessorResult<TRes>>}} with 
{{ICollection<ICacheEntryProcessorResult<TK, TRes>>}} in {{InvokeAll}} to 
reduce generic nesting and dictionary overhead


was (Author: ptupitsyn):
TC looks good, merged to master

> .NET: Review Dictionary usage in APIs
> -------------------------------------
>
>                 Key: IGNITE-4899
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4899
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 2.0
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>              Labels: .NET, breaking-api
>             Fix For: 2.0
>
>
> We have replaced {{IDictionary}} with {{IEnumerable<KeyValuePair<TK, TV>>}} 
> in {{ICacheStore}}, let's do the same for other APIs like {{ICache.GetAll}}.
> Reading GetAll results into a dictionary is inefficient in case when user 
> only needs to iterate over results (unneeded allocation and hashing).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to