<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
Re: dynamic reconfiguration
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/sannegrinovero">Sanne Grinovero</a> in <i>JBoss Transactions Development</i> - <a href="http://community.jboss.org/message/633534#633534">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>While profiling HibernateOGM, the bottlenecks are currently in other projects code but while they are being solved the impact of these Map lookups in the transaction manager are getting more significant every day - currently consuming around 2% of total CPU time, I'd expect this ratio to grow soon as we solve other issues, so it would be nice to avoid the lookups as much as possible. Fixing <a class="jive-link-external-small" href="https://issues.jboss.org/browse/JBTM-929" target="_parent">JBTM-929</a> was a good improvement.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>About the eventbus, that seems interesting but the changed properties would need to set a memory barrier whose cost is paid for at each read, for example a volatile might become costly on non-x86 CPUs - is that something we should be concerned about?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Hibernate 4 introduced an internal ConcurrentHashMap "ServiceRegistry" holding all the main components; this provides more flexibility but is introducing a new runtime cost: not significant when connecting to a slow JDBC database, more concerning when connecting to a data grid: often we have to cache references to components, losing the option to hot-swap them.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Delaying the freeze point sounds nice to me, but I'm unfit to judge about the Transactions implementation internals. I've often used lazy static initialization to temporarily workaround performance problems, but it's hard to maintain and I've never suggested introducing it in a mission critical library.</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/633534#633534">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Transactions Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2041">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>