[
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)