From d93ef3ff974dc84ff55c4fa4be1a55b36324d0b7 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 19 Apr 2020 10:39:27 +0200 Subject: [PATCH] Timing reports for stream writers too, reporting file names for reader and writer timing. --- src/db/db/dbReader.cc | 18 ++++++++++++++++++ src/db/db/dbReader.h | 10 ++-------- src/db/db/dbWriter.cc | 4 ++++ .../streamers/cif/db_plugin/dbCIFReader.cc | 2 -- .../streamers/dxf/db_plugin/dbDXFReader.cc | 2 -- .../gds2/db_plugin/dbGDS2ReaderBase.cc | 2 -- .../lefdef/db_plugin/dbLEFDEFPlugin.cc | 5 ++--- .../streamers/magic/db_plugin/dbMAGReader.cc | 2 +- .../streamers/oasis/db_plugin/dbOASISReader.cc | 2 -- 9 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/db/db/dbReader.cc b/src/db/db/dbReader.cc index 4e1455bc1..fc6f13adb 100644 --- a/src/db/db/dbReader.cc +++ b/src/db/db/dbReader.cc @@ -24,6 +24,8 @@ #include "dbReader.h" #include "dbStream.h" #include "tlClassRegistry.h" +#include "tlTimer.h" +#include "tlLog.h" namespace db { @@ -74,5 +76,21 @@ Reader::~Reader () } } +const db::LayerMap & +Reader::read (db::Layout &layout, const db::LoadLayoutOptions &options) +{ + tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Reading file: ")) + m_stream.source ()); + + return mp_actual_reader->read (layout, options); +} + +const db::LayerMap & +Reader::read (db::Layout &layout) +{ + tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Reading file: ")) + m_stream.source ()); + + return mp_actual_reader->read (layout); +} + } diff --git a/src/db/db/dbReader.h b/src/db/db/dbReader.h index 6429ea71b..bab39df87 100644 --- a/src/db/db/dbReader.h +++ b/src/db/db/dbReader.h @@ -125,10 +125,7 @@ public: * @param layout The layout object to write to * @param options The LayerMap object */ - const db::LayerMap &read (db::Layout &layout, const db::LoadLayoutOptions &options) - { - return mp_actual_reader->read (layout, options); - } + const db::LayerMap &read (db::Layout &layout, const db::LoadLayoutOptions &options); /** * @brief The basic read method (without mapping) @@ -143,10 +140,7 @@ public: * @param layout The layout object to write to * @return The LayerMap object */ - const db::LayerMap &read (db::Layout &layout) - { - return mp_actual_reader->read (layout); - } + const db::LayerMap &read (db::Layout &layout); /** * @brief Returns a format describing the file format found diff --git a/src/db/db/dbWriter.cc b/src/db/db/dbWriter.cc index 5dfdcefa0..917790212 100644 --- a/src/db/db/dbWriter.cc +++ b/src/db/db/dbWriter.cc @@ -26,6 +26,8 @@ #include "tlClassRegistry.h" #include "tlAssert.h" #include "tlStream.h" +#include "tlTimer.h" +#include "tlLog.h" namespace db { @@ -54,6 +56,8 @@ Writer::~Writer () void Writer::write (db::Layout &layout, tl::OutputStream &stream) { + tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Writing file: ")) + stream.path ()); + tl_assert (mp_writer != 0); mp_writer->write (layout, stream, m_options); } diff --git a/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc b/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc index f63d9ffb5..df544ffe2 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc +++ b/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc @@ -818,8 +818,6 @@ CIFReader::read_cell (db::Layout &layout, db::Cell &cell, double sf, int level) void CIFReader::do_read (db::Layout &layout) { - tl::SelfTimer timer (tl::verbosity () >= 21, "File read"); - try { double sf = 0.01 / m_dbu; diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc index 85fe87027..2a7f8327b 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc +++ b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc @@ -379,8 +379,6 @@ DXFReader::open_layer (db::Layout &layout, const std::string &n) void DXFReader::do_read (db::Layout &layout, db::cell_index_type top) { - tl::SelfTimer timer (tl::verbosity () >= 21, "File read"); - // create the zero layer - this is not mapped to GDS but can be specified in the layer mapping as // a layer named "0". std::pair ll = layer_map ().logical (zero_layer_name, layout); diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc b/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc index 4d6695891..1541960e0 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc @@ -233,8 +233,6 @@ eq_y (const GDS2XY &a, const GDS2XY &b) void GDS2ReaderBase::do_read (db::Layout &layout) { - tl::SelfTimer timer (tl::verbosity () >= 21, "File read"); - m_cellname = ""; m_libname = ""; m_mapped_cellnames.clear (); diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc index e7e7f168c..5c196d026 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc @@ -272,7 +272,6 @@ private: lefdef_options = &default_options; } - // Take the layer map and the "read all layers" flag from the reader options - hence we override the db::LEFDEFReaderState state (lefdef_options); import_map_file_heuristics (m_stream.absolute_path (), state); @@ -282,7 +281,7 @@ private: if (import_lef) { - tl::SelfTimer timer (tl::verbosity () >= 11, tl::to_string (tr ("Reading LEF file"))); + tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Reading LEF file"))); db::LEFImporter importer; @@ -301,7 +300,7 @@ private: } else { - tl::SelfTimer timer (tl::verbosity () >= 11, tl::to_string (tr ("Reading DEF file"))); + tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Reading DEF file"))); DEFImporter importer; diff --git a/src/plugins/streamers/magic/db_plugin/dbMAGReader.cc b/src/plugins/streamers/magic/db_plugin/dbMAGReader.cc index f44a71330..b9fa4bb06 100644 --- a/src/plugins/streamers/magic/db_plugin/dbMAGReader.cc +++ b/src/plugins/streamers/magic/db_plugin/dbMAGReader.cc @@ -111,7 +111,7 @@ MAGReader::read (db::Layout &layout, const db::LoadLayoutOptions &options) m_tech.clear (); { - tl::SelfTimer timer (tl::verbosity () >= 21, "Reading MAGIC file tree"); + tl::SelfTimer timer (tl::verbosity () >= 11, "Reading MAGIC file tree"); // This is the seed do_read (layout, top_cell, m_stream); diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc b/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc index 2d084c313..6311ff2cf 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc +++ b/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc @@ -689,8 +689,6 @@ static const char magic_bytes[] = { "%SEMI-OASIS\015\012" }; void OASISReader::do_read (db::Layout &layout) { - tl::SelfTimer timer (tl::verbosity () >= 21, "File read"); - unsigned char r; char *mb;