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
Reduce OutputEventRenderer.onOutput() locking by refine lock granularity
Current Behavior
Multithreading creates many lock races when finally calling OutputEventRenderer.onOutput() while logging, waiting about 500,000 times
Context
We support parallel config on our gradle version to optimizing the configuration phase time, and i found that threads were waiting for OutputEventReanderer.lock.
I try to reduce locking by refine lock granularity:
Remove OutputEventRenderer.lock invoked by onOutput()
Add synchronization logics to OutputEventTransformer class.
Lock waiting counts reduced from 50,0000 to 3k, and it can save about 4s - 6s.
Below are some screenshots during debugging:
The text was updated successfully, but these errors were encountered:
Expected Behavior
Reduce
OutputEventRenderer.onOutput()
locking by refine lock granularityCurrent Behavior
Multithreading creates many lock races when finally calling
OutputEventRenderer.onOutput()
while logging, waiting about 500,000 timesContext
We support parallel config on our gradle version to optimizing the configuration phase time, and i found that threads were waiting for
OutputEventReanderer.lock
.I try to reduce locking by refine lock granularity:
Lock waiting counts reduced from 50,0000 to 3k, and it can save about 4s - 6s.
Below are some screenshots during debugging:
The text was updated successfully, but these errors were encountered: