[
https://issues.apache.org/jira/browse/SOLR-3715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yonik Seeley updated SOLR-3715:
-------------------------------
Attachment: SOLR-3715.patch
Here's a patch that moves log record serialization outside of the synchronized
block.
All tests pass, but I could detect no meaningful speedup on my system.
After further investigation, I believe this is due to the fact that our binary
(javabin) serialization is *really* fast. I did some profiling and it was
between .25% (sampling) and 2% (instrumentation) of the total runtime.
Removing synchronization around such a small percent of time is not going to
show up much on my 4 CPU box.
I still plan to commit this as it still represents an architectural
improvement, may be more mesurable in high-core systems, and is a stepping
stone toward future improvements.
> improve tlog concurrency
> ------------------------
>
> Key: SOLR-3715
> URL: https://issues.apache.org/jira/browse/SOLR-3715
> Project: Solr
> Issue Type: Improvement
> Reporter: Yonik Seeley
> Assignee: Yonik Seeley
> Attachments: SOLR-3715.patch
>
>
> Right now log record serialization is synchronized. We can improve
> concurrency by serializing to a ram buffer outside synchronization. The cost
> will be RAM usage for buffering, and more complex concurrency in the tlog
> itself (i.e. we must ensure that a close does not happen without flushing all
> in-RAM buffers)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]