From b691d1ca87d7004755069d3c55ec2dfda1d87d47 Mon Sep 17 00:00:00 2001 From: Lukas Steiner Date: Wed, 16 Sep 2020 15:54:13 +0200 Subject: [PATCH] Reuse strings in StlPlayer. --- DRAMSys/simulator/StlPlayer.h | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/DRAMSys/simulator/StlPlayer.h b/DRAMSys/simulator/StlPlayer.h index e1f261a3..4eb89af1 100644 --- a/DRAMSys/simulator/StlPlayer.h +++ b/DRAMSys/simulator/StlPlayer.h @@ -75,7 +75,6 @@ public: void parseTraceFile() { - std::string line; unsigned parsedLines = 0; lineContents.clear(); while (file && !file.eof() && parsedLines < 10000) @@ -94,12 +93,13 @@ public: // Trace files MUST provide timestamp, command and address for every // transaction. The data information depends on the storage mode // configuration. - std::string time; - std::string command; - std::string address; - std::string dataStr; + time.clear(); + command.clear(); + address.clear(); + dataStr.clear(); - std::istringstream iss(line); + iss.clear(); + iss.str(line); // Get the timestamp for the transaction. iss >> time; @@ -213,6 +213,14 @@ private: std::vector lineContents; std::vector::const_iterator lineIterator; + + std::string time; + std::string command; + std::string address; + std::string dataStr; + + std::string line; + std::istringstream iss; }; #endif // STLPLAYER_H