summaryrefslogtreecommitdiffstats
path: root/src/msc.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2021-03-28 11:58:30 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2021-03-28 12:25:48 (GMT)
commitc48639744a6fa118b9851b307107994ba93ce4c8 (patch)
tree8917c567f8f00560fba4554ade2b7e79bbe3ff45 /src/msc.cpp
parentcef71dc4fcfca9e3580214c39f20dc538ed6b2d9 (diff)
downloadDoxygen-c48639744a6fa118b9851b307107994ba93ce4c8.zip
Doxygen-c48639744a6fa118b9851b307107994ba93ce4c8.tar.gz
Doxygen-c48639744a6fa118b9851b307107994ba93ce4c8.tar.bz2
Refactoring: Add TextStream buffer to improve output writing performance
- direct use of std::stringstream and std::ostream gave a 30% drop in performance.
Diffstat (limited to 'src/msc.cpp')
-rw-r--r--src/msc.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/msc.cpp b/src/msc.cpp
index 8b45faa..7247689 100644
--- a/src/msc.cpp
+++ b/src/msc.cpp
@@ -25,10 +25,11 @@
#include "util.h"
#include "mscgen_api.h"
#include "dir.h"
+#include "textstream.h"
static const int maxCmdLine = 40960;
-static bool convertMapFile(std::ostream &t,const char *mapName,const QCString relPath,
+static bool convertMapFile(TextStream &t,const char *mapName,const QCString relPath,
const QCString &context)
{
std::ifstream f(mapName,std::ifstream::in);
@@ -153,16 +154,15 @@ static QCString getMscImageMapFromFile(const QCString& inFile, const QCString& o
return "";
}
- std::ostringstream t(std::ios_base::ate);
+ TextStream t;
convertMapFile(t, outFile, relPath, context);
- QCString result = t.str();
Dir().remove(outFile.str());
- return result;
+ return t.str();
}
-void writeMscImageMapFromFile(std::ostream &t,const QCString &inFile,
+void writeMscImageMapFromFile(TextStream &t,const QCString &inFile,
const QCString &outDir,
const QCString &relPath,
const QCString &baseName,