Author: aconway
Date: Sun Jun 1 20:29:17 2008
New Revision: 662310
URL: http://svn.apache.org/viewvc?rev=662310&view=rev
Log:
Use InlineVector for AMQFrame, reduces heap allocations by 13%.
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.h
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.cpp?rev=662310&r1=662309&r2=662310&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.cpp Sun Jun 1
20:29:17 2008
@@ -28,7 +28,7 @@
using namespace qpid::framing;
using namespace boost;
-FrameSet::FrameSet(const SequenceNumber& _id) :
id(_id),contentSize(0),recalculateSize(true) {parts.reserve(4);}
+FrameSet::FrameSet(const SequenceNumber& _id) :
id(_id),contentSize(0),recalculateSize(true) { }
void FrameSet::append(const AMQFrame& part)
{
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.h?rev=662310&r1=662309&r2=662310&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/framing/FrameSet.h Sun Jun 1
20:29:17 2008
@@ -19,7 +19,7 @@
*
*/
#include <string>
-#include <vector>
+#include "qpid/InlineVector.h"
#include "qpid/framing/amqp_framing.h"
#include "qpid/framing/AMQFrame.h"
#include "qpid/framing/SequenceNumber.h"
@@ -35,7 +35,7 @@
*/
class FrameSet
{
- typedef std::vector<AMQFrame> Frames;
+ typedef InlineVector<AMQFrame, 4> Frames;
const SequenceNumber id;
Frames parts;
mutable uint64_t contentSize;