From 5af5a6c6aa4c2b31e63d64a43ab647bd6def3808 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 8 Jul 2023 12:05:09 +0300 Subject: Optimize build-task handler by using object loading view --- mod/mod-builds.cxx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'mod/mod-builds.cxx') diff --git a/mod/mod-builds.cxx b/mod/mod-builds.cxx index 0c9e57a..bd87d84 100644 --- a/mod/mod-builds.cxx +++ b/mod/mod-builds.cxx @@ -889,9 +889,9 @@ handle (request& rq, response& rs) for (auto& bp: build_db_->query (q)) { - id = move (bp.id); + shared_ptr& p (bp.package); - shared_ptr p (build_db_->load (id)); + id = p->id; // Note: load the constrains section lazily. // @@ -1027,11 +1027,11 @@ handle (request& rq, response& rs) // Iterate over packages and print unbuilt configurations. Skip the // appropriate number of them first (for page number greater than one). // - for (auto& p: packages) + for (auto& bp: packages) { - id = move (p.id); + shared_ptr& p (bp.package); - shared_ptr bp (build_db_->load (id)); + id = p->id; // Copy configuration/toolchain combinations for this package, // skipping excluded configurations. @@ -1040,7 +1040,7 @@ handle (request& rq, response& rs) // Load the constrains section lazily. // - for (const build_package_config& pc: bp->configs) + for (const build_package_config& pc: p->configs) { // Filter by package config name. // @@ -1054,10 +1054,10 @@ handle (request& rq, response& rs) assert (i != target_conf_map_->end ()); - if (!bp->constraints_section.loaded ()) - build_db_->load (*bp, bp->constraints_section); + if (!p->constraints_section.loaded ()) + build_db_->load (*p, p->constraints_section); - if (!exclude (pc, bp->builds, bp->constraints, *i->second)) + if (!exclude (pc, p->builds, p->constraints, *i->second)) unbuilt_configs.insert ( config_toolchain {ct.target, ct.target_config, @@ -1095,7 +1095,7 @@ handle (request& rq, response& rs) s << TABLE(CLASS="proplist build") << TBODY << TR_NAME (id.name, string (), root, id.tenant) - << TR_VERSION (id.name, p.version, root, id.tenant) + << TR_VERSION (id.name, p->version, root, id.tenant) << TR_VALUE ("toolchain", string (ct.toolchain_name) + '-' + ct.toolchain_version.string ()) -- cgit v1.1