From 5bae0794b5f3f71c10765de7e7df066a5c4a1914 Mon Sep 17 00:00:00 2001 From: Kenneth Leiter Date: Fri, 28 Jun 2013 15:31:07 -0400 Subject: [PATCH] ENH: Store array type precision in string form. Slight performance improvement for large file writes. --- core/XdmfArrayType.cpp | 7 ++++--- core/XdmfArrayType.hpp | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/XdmfArrayType.cpp b/core/XdmfArrayType.cpp index 7b679fbb..d880559b 100644 --- a/core/XdmfArrayType.cpp +++ b/core/XdmfArrayType.cpp @@ -109,6 +109,9 @@ XdmfArrayType::XdmfArrayType(const std::string & name, mName(name), mPrecision(precision) { + std::stringstream precisionString; + precisionString << precision; + mPrecisionString = precisionString.str(); } XdmfArrayType::~XdmfArrayType() @@ -193,7 +196,5 @@ void XdmfArrayType::getProperties(std::map & collectedProperties) const { collectedProperties.insert(std::make_pair("DataType", mName)); - std::stringstream precision; - precision << mPrecision; - collectedProperties.insert(std::make_pair("Precision", precision.str())); + collectedProperties.insert(std::make_pair("Precision", mPrecisionString)); } diff --git a/core/XdmfArrayType.hpp b/core/XdmfArrayType.hpp index cd611c6a..3ce38d3d 100644 --- a/core/XdmfArrayType.hpp +++ b/core/XdmfArrayType.hpp @@ -111,8 +111,9 @@ private: static shared_ptr New(const std::map & itemProperties); - std::string mName; - unsigned int mPrecision; + const std::string mName; + const unsigned int mPrecision; + std::string mPrecisionString; }; #endif /* XDMFARRAYTYPE_HPP_ */ -- GitLab