You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by mg...@apache.org on 2014/09/25 22:13:20 UTC

svn commit: r1627642 - in /qpid/proton/trunk/proton-c/src/codec: codec.c data.h

Author: mgoulish
Date: Thu Sep 25 20:13:20 2014
New Revision: 1627642

URL: http://svn.apache.org/r1627642
Log:
PROTON-700 : small performance improvement from inlining pn_data_node().
This is a very popular function.
improvement on newer box was 6% , on older box 2.6%
t-test after 50 reps before & after says odd of the 2.6% figure
happening by chance is 2.0e-18 .


Modified:
    qpid/proton/trunk/proton-c/src/codec/codec.c
    qpid/proton/trunk/proton-c/src/codec/data.h

Modified: qpid/proton/trunk/proton-c/src/codec/codec.c
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/codec/codec.c?rev=1627642&r1=1627641&r2=1627642&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/codec/codec.c (original)
+++ qpid/proton/trunk/proton-c/src/codec/codec.c Thu Sep 25 20:13:20 2014
@@ -1111,15 +1111,6 @@ int pn_data_resize(pn_data_t *data, size
 }
 
 
-pni_node_t *pn_data_node(pn_data_t *data, pni_nid_t nd)
-{
-  if (nd) {
-    return &data->nodes[nd - 1];
-  } else {
-    return NULL;
-  }
-}
-
 size_t pn_data_id(pn_data_t *data, pni_node_t *node)
 {
   return node - data->nodes + 1;

Modified: qpid/proton/trunk/proton-c/src/codec/data.h
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/codec/data.h?rev=1627642&r1=1627641&r2=1627642&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/codec/data.h (original)
+++ qpid/proton/trunk/proton-c/src/codec/data.h Thu Sep 25 20:13:20 2014
@@ -61,7 +61,11 @@ struct pn_data_t {
   pni_nid_t base_current;
 };
 
-pni_node_t *pn_data_node(pn_data_t *data, pni_nid_t nd);
+inline pni_node_t * pn_data_node(pn_data_t *data, pni_nid_t nd) 
+{
+  return nd ? (data->nodes + nd - 1) : NULL;
+}
+
 int pni_data_traverse(pn_data_t *data,
                       int (*enter)(void *ctx, pn_data_t *data, pni_node_t *node),
                       int (*exit)(void *ctx, pn_data_t *data, pni_node_t *node),



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org