Re[8]: clr perf problem
От: mapnik США http://www.hooli.xyz/
Дата: 30.06.15 11:33
Оценка: :))) :)
Здравствуйте, Yoriсk, Вы писали:

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

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

Ок, по порядку:
1) Меня не устраивает perf для Hashtable на c#. По моим данным она в 10 раз ниже аналога на java
2) C Dictionary все ок — производительность что надо. Но проблема с thread-safe которую можно решить с помощью ReaderWriterLock. Но тогда он станет еще медленнее чем Hashtable. Не ок.
3) У java есть Hashmap and ConcurrentHashmap (добавленные соотвественно в 1 и 1.5[это 2004 год,!]), которые работают довольно быстро в отличии от продукта Сатьи и в которых решена проблема thread safe.

В итоге мне придется делать свою синхронизации для Dictionary, потому что какой-то молодец додумался реализовать нечто подобное только в 4 net.
А про то как работает GC в CLR я вообще молчу — тут нужна отдельная ветка с разбором всего и вся.

Ну вот и объясните мне как со всеми этими бесконечными косяками С# и Шарепоинт станут Великими? Что об этом говорят ваши Евангилисты?

Всем Спасибо за участие
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.