Информация об изменениях

Сообщение Re[7]: clr perf problem от 30.06.2015 10:57

Изменено 30.06.2015 10:59 Yoriсk

Здравствуйте, mapnik, Вы писали:

Y>>Ну совсем как HashMap:

Y>>Но HashMap можно, а Dictionary — нет. Интересно.

M>Нет не совсем. Hashtable разрешает один writer вместе с multiple readers без locking, а Dictionary нет. Это именно мой сценарий использования. В Dictionary при таком варианте использования нужно использовать ReaderWriterLock, который делает его очень медленным.

M>Впрочем в CLR похоже все не быстрое.

Еще раз, по порядку: cравниваются реализации на Java и С#. Вы говорите, что реализация на HashMap, который thread-safe только в случае immutable на java вас устраивает, а на Dictionary на .net — нет. Потому что в Dictionary нужен ReaderWriterLock, а в HashMap, ... какая-то аналогичная конструкция на java(ReadWritLock?).

Вот я и спрашиваю: а в чём, собственно, разница?
Re[7]: clr perf problem
Здравствуйте, mapnik, Вы писали:

Y>>Ну совсем как HashMap:

Y>>Но HashMap можно, а Dictionary — нет. Интересно.

M>Нет не совсем. Hashtable разрешает один writer вместе с multiple readers без locking, а Dictionary нет. Это именно мой сценарий использования. В Dictionary при таком варианте использования нужно использовать ReaderWriterLock, который делает его очень медленным.

M>Впрочем в CLR похоже все не быстрое.

Еще раз, по порядку: cравниваются реализации на Java и С#. Вы говорите, что реализация на HashMap, который thread-safe только в случае immutable на java вас устраивает, а на Dictionary на .net — нет. Поэому в Dictionary нужен ReaderWriterLock, а в HashMap, ... какая-то аналогичная конструкция на java(ReadWritLock?).

Вот я и спрашиваю: а в чём, собственно, разница?