diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2021-03-28 11:58:30 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2021-03-28 12:25:48 (GMT) |
commit | c48639744a6fa118b9851b307107994ba93ce4c8 (patch) | |
tree | 8917c567f8f00560fba4554ade2b7e79bbe3ff45 /src/msc.cpp | |
parent | cef71dc4fcfca9e3580214c39f20dc538ed6b2d9 (diff) | |
download | Doxygen-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.cpp | 10 |
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, |