From 8b9f12ef4f8957abd0d13ff52188633525019e35 Mon Sep 17 00:00:00 2001 From: Sean Leather Date: Fri, 17 Oct 2014 23:25:20 +0200 Subject: [PATCH] Add perf tests for EncodedInputStream and AutoUTFInputStream --- test/perftest/rapidjsontest.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/perftest/rapidjsontest.cpp b/test/perftest/rapidjsontest.cpp index 6a45113..d6e02ef 100644 --- a/test/perftest/rapidjsontest.cpp +++ b/test/perftest/rapidjsontest.cpp @@ -28,6 +28,8 @@ #include "rapidjson/stringbuffer.h" #include "rapidjson/filestream.h" #include "rapidjson/filereadstream.h" +#include "rapidjson/encodedstream.h" +#include "rapidjson/memorystream.h" #ifdef RAPIDJSON_SSE2 #define SIMD_SUFFIX(name) name##_SSE2 @@ -167,6 +169,26 @@ TEST_F(RapidJson, SIMD_SUFFIX(DocumentParse_CrtAllocator)) { } } +TEST_F(RapidJson, SIMD_SUFFIX(DocumentParseEncodedInputStream_MemoryStream)) { + for (size_t i = 0; i < kTrialCount; i++) { + MemoryStream ms(json_, length_); + EncodedInputStream, MemoryStream> is(ms); + Document doc; + doc.ParseStream<0, UTF8<> >(is); + ASSERT_TRUE(doc.IsObject()); + } +} + +TEST_F(RapidJson, SIMD_SUFFIX(DocumentParseAutoUTFInputStream_MemoryStream)) { + for (size_t i = 0; i < kTrialCount; i++) { + MemoryStream ms(json_, length_); + AutoUTFInputStream is(ms); + Document doc; + doc.ParseStream<0, AutoUTF >(is); + ASSERT_TRUE(doc.IsObject()); + } +} + template size_t Traverse(const T& value) { size_t count = 1;