You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The deferred operations in the FiniteStateMachine are stored in a HashMapdeferredDfOpsQueue or deferredDsOpsQueue respectively depending of storageUnit. In order to maintain thread safety, access to these objects are synchronized, which essentially creates a global lock each time the queue is processed in the FiniteStateMachine. This has been observed to degrade performance in situations where the queue becomes large.
Using a ConcurrentHashMap instead would avoid the need for a synchronized access and might mitigate the degradation.
This proposal has been made by @stuartpullinger in the march 2020 F2F meeting.
The text was updated successfully, but these errors were encountered:
The deferred operations in the
FiniteStateMachine
are stored in aHashMap
deferredDfOpsQueue
ordeferredDsOpsQueue
respectively depending ofstorageUnit
. In order to maintain thread safety, access to these objects aresynchronized
, which essentially creates a global lock each time the queue is processed in theFiniteStateMachine
. This has been observed to degrade performance in situations where the queue becomes large.Using a
ConcurrentHashMap
instead would avoid the need for asynchronized
access and might mitigate the degradation.This proposal has been made by @stuartpullinger in the march 2020 F2F meeting.
The text was updated successfully, but these errors were encountered: