From a0551d72daac415ab7fd25da978fb14da689633f Mon Sep 17 00:00:00 2001 From: diamante0018 Date: Thu, 12 Sep 2024 15:52:42 +0200 Subject: [PATCH] feat: track time spent linking zone --- src/ZoneWriting/ZoneWriting.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/ZoneWriting/ZoneWriting.cpp b/src/ZoneWriting/ZoneWriting.cpp index eaf3ebcc..bbe9607f 100644 --- a/src/ZoneWriting/ZoneWriting.cpp +++ b/src/ZoneWriting/ZoneWriting.cpp @@ -7,6 +7,9 @@ #include "Game/T6/ZoneWriterFactoryT6.h" #include "Writing/IZoneWriterFactory.h" +#include +#include + IZoneWriterFactory* ZoneWriterFactories[]{ new IW3::ZoneWriterFactory(), new IW4::ZoneWriterFactory(), @@ -17,6 +20,8 @@ IZoneWriterFactory* ZoneWriterFactories[]{ bool ZoneWriting::WriteZone(std::ostream& stream, Zone* zone) { + const auto start = std::chrono::high_resolution_clock::now(); + std::unique_ptr zoneWriter; for (auto* factory : ZoneWriterFactories) { @@ -29,9 +34,15 @@ bool ZoneWriting::WriteZone(std::ostream& stream, Zone* zone) if (zoneWriter == nullptr) { - printf("Could not create ZoneWriter for zone '%s'.\n", zone->m_name.c_str()); + std::cerr << std::format("Could not create ZoneWriter for zone \"{}\".\n", zone->m_name); return false; } - return zoneWriter->WriteZone(stream); + const auto result = zoneWriter->WriteZone(stream); + + const auto end = std::chrono::high_resolution_clock::now(); + + std::cout << std::format("Writing zone \"{}\" took {} msec.\n", zone->m_name, std::chrono::duration_cast(end - start).count()); + + return result; }