You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2007/07/10 18:49:11 UTC
svn commit: r555002 - in
/activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io:
DataInputStreamBenchmark.cpp DataInputStreamBenchmark.h
DataOutputStreamBenchmark.cpp DataOutputStreamBenchmark.h
Author: tabish
Date: Tue Jul 10 09:49:10 2007
New Revision: 555002
URL: http://svn.apache.org/viewvc?view=rev&rev=555002
Log: (empty)
Added:
activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.cpp
activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.h
activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.cpp
activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.h
Added: activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.cpp?view=auto&rev=555002
==============================================================================
--- activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.cpp (added)
+++ activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.cpp Tue Jul 10 09:49:10 2007
@@ -0,0 +1,111 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "DataInputStreamBenchmark.h"
+#include <activemq/io/ByteArrayInputStream.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::io;
+
+////////////////////////////////////////////////////////////////////////////////
+DataInputStreamBenchmark::DataInputStreamBenchmark(){
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DataInputStreamBenchmark::setUp(){
+
+// unsigned char* buffer = new unsigned char[bufferSize];
+//
+// // init to full String Buffer
+// for( int ix = 0; ix < bufferSize - 1; ++ix ) {
+// buffer[ix] = 'z';
+// }
+// buffer[bufferSize-1] = '\0';
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DataInputStreamBenchmark::tearDown(){
+
+ delete buffer;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DataInputStreamBenchmark::run(){
+
+ ByteArrayInputStream bis( buffer, bufferSize );
+ DataInputStream dis( &bis );
+
+ bool boolResult = 0;
+ char charResult = 0;
+ unsigned char byteResult = 0;
+ unsigned short ushortResult = 0;
+ short shortResult = 0;
+ int intResult = 0;
+ long long longResult = 0;
+ double doubleResult = 0.0;
+ float floatResult = 0.0f;
+ std::string stringResult = "";
+
+// for( size_t iy = 0; iy < bufferSize / sizeof( boolResult ); ++iy ){
+// boolResult = dis.readBoolean();
+// }
+// bis.reset();
+//
+// for( size_t iy = 0; iy < bufferSize / sizeof( charResult ); ++iy ){
+// charResult = dis.readChar();
+// }
+// bis.reset();
+//
+// for( size_t iy = 0; iy < bufferSize / sizeof( byteResult ); ++iy ){
+// byteResult = dis.readByte();
+// }
+// bis.reset();
+//
+// for( size_t iy = 0; iy < bufferSize / sizeof( ushortResult ); ++iy ){
+// ushortResult = dis.readUnsignedShort();
+// }
+// bis.reset();
+//
+// for( size_t iy = 0; iy < bufferSize / sizeof( shortResult ); ++iy ){
+// shortResult = dis.readShort();
+// }
+// bis.reset();
+//
+// for( size_t iy = 0; iy < bufferSize / sizeof( intResult ); ++iy ){
+// intResult = dis.readInt();
+// }
+// bis.reset();
+//
+// for( size_t iy = 0; iy < bufferSize / sizeof( longResult ); ++iy ){
+// longResult = dis.readLong();
+// }
+// bis.reset();
+//
+// for( size_t iy = 0; iy < bufferSize / sizeof( floatResult ); ++iy ){
+// floatResult = dis.readFloat();
+// }
+// bis.reset();
+//
+// for( size_t iy = 0; iy < bufferSize / sizeof( doubleResult ); ++iy ){
+// doubleResult = dis.readDouble();
+// }
+// bis.reset();
+//
+// stringResult = dis.readString();
+// bis.reset();
+}
Added: activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.h?view=auto&rev=555002
==============================================================================
--- activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.h (added)
+++ activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataInputStreamBenchmark.h Tue Jul 10 09:49:10 2007
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_IO_DATAINPUTSTREAMBENCHMARK_H_
+#define _ACTIVEMQ_IO_DATAINPUTSTREAMBENCHMARK_H_
+
+#include <benchmark/BenchmarkBase.h>
+#include <activemq/io/DataInputStream.h>
+
+namespace activemq{
+namespace io{
+
+ class DataInputStreamBenchmark :
+ public benchmark::BenchmarkBase<
+ activemq::io::DataInputStreamBenchmark, DataInputStream >
+ {
+ private:
+
+ const unsigned char* buffer;
+ static const int bufferSize = 2000000;
+
+ public:
+
+ DataInputStreamBenchmark();
+ virtual ~DataInputStreamBenchmark() {}
+
+ virtual void setUp();
+ virtual void tearDown();
+ virtual void run();
+ };
+
+}}
+
+#endif /*_ACTIVEMQ_IO_DATAINPUTSTREAMBENCHMARK_H_*/
Added: activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.cpp?view=auto&rev=555002
==============================================================================
--- activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.cpp (added)
+++ activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.cpp Tue Jul 10 09:49:10 2007
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "DataOutputStreamBenchmark.h"
+#include <activemq/io/ByteArrayOutputStream.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::io;
+
+////////////////////////////////////////////////////////////////////////////////
+DataOutputStreamBenchmark::DataOutputStreamBenchmark(){
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DataOutputStreamBenchmark::setUp(){
+
+// for( size_t i = 0; i < 1024; ++i ) {
+// testString += 'a';
+// }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DataOutputStreamBenchmark::run(){
+
+// std::vector<unsigned char> outputBuffer;
+// int numRuns = 500;
+//
+// ByteArrayOutputStream bos( outputBuffer );
+// DataOutputStream dos( &bos );
+//
+// for( int iy = 0; iy < numRuns * 10; ++iy ){
+// dos.writeLong( 0xFF00FF00FF00FF00LL );
+// }
+// for( int iy = 0; iy < numRuns * 10; ++iy ){
+// dos.writeInt( 312568 );
+// }
+// for( int iy = 0; iy < numRuns * 10; ++iy ){
+// dos.writeShort( 12568 );
+// }
+// for( int iy = 0; iy < numRuns * 10; ++iy ){
+// dos.writeUnsignedShort( 12568 );
+// }
+// for( int iy = 0; iy < numRuns * 10; ++iy ){
+// dos.writeBoolean( true );
+// }
+// for( int iy = 0; iy < numRuns * 10; ++iy ){
+// dos.writeDouble( 10.34235234 );
+// }
+// for( int iy = 0; iy < numRuns; ++iy ){
+// dos.writeFloat( 32.4f );
+// }
+//
+// dos.writeChars( testString );
+// dos.writeBytes( testString );
+// dos.writeUTF( testString );
+//
+// outputBuffer.clear();
+}
Added: activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.h?view=auto&rev=555002
==============================================================================
--- activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.h (added)
+++ activemq/activemq-cpp/trunk/src/test-benchmarks/activemq/io/DataOutputStreamBenchmark.h Tue Jul 10 09:49:10 2007
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_IO_DATAOUTPUTSTREAMBENCHMARK_H_
+#define _ACTIVEMQ_IO_DATAOUTPUTSTREAMBENCHMARK_H_
+
+#include <benchmark/BenchmarkBase.h>
+#include <activemq/io/DataOutputStream.h>
+
+namespace activemq{
+namespace io{
+
+ class DataOutputStreamBenchmark :
+ public benchmark::BenchmarkBase<
+ activemq::io::DataOutputStreamBenchmark, DataOutputStream >
+ {
+ private:
+
+ std::string testString;
+
+ public:
+
+ DataOutputStreamBenchmark();
+ virtual ~DataOutputStreamBenchmark() {}
+
+ virtual void setUp();
+ virtual void run();
+ };
+
+}}
+
+#endif /*_ACTIVEMQ_IO_DATAOUTPUTSTREAMBENCHMARK_H_*/