Java: реинжиниринг параллелизма библиотеки с открытым исходным кодом
В рамках некоторого анализа структур JVM STM я рассматриваю вопрос о реорганизации механизмов блокировки библиотеки с открытым исходным кодом для использования вместо нее STM. Затем я бы провел несколько тестов, чтобы сравнить производительность, простоту кодирования и т. Д.
Очевидно, что тесты производительности должны были бы одобрить оптимистическую блокировку STM, но могут решить семантику этого позже.
Однако, на данный момент, я просто заинтересован в кандидатах в библиотеки с открытым исходным кодом. На ум приходит EhCache, поскольку он имеет внутренние меры блокировки.
Какие еще могут быть подходящие кандидаты?
1 ответ
Я бы предположил, что СТМ
- производит более элегантный код, однако
- это намного медленнее, чем разумное использование замков. Это может быть намного медленнее, чем медленное, чем написание однопоточного кода без блокировок.
Примечание. Переблокирование STM может привести к возникновению ситуации, похожей на тупик, когда он никогда не получит все необходимые блокировки.
Вы, вероятно, обнаружите, что STM слишком незрелый, чтобы обеспечить преимущества в производительности.