jenkins-bot has submitted this change and it was merged.

Change subject: rdbms: Lazy-init DatabaseDomain::getId()
......................................................................


rdbms: Lazy-init DatabaseDomain::getId()

Follows-up 847b91b.

Noticed that in Xenon profiles, about 25% of Database::__construct
time is spent in array_map, via DatabaseDomain::convertToString.

* Database::__construct
  * DatabaseDomain::__construct/convertToString/array_map
  * DatabaseDomain::newUnspecified
    * DatabaseDomain::__construct/convertToString/array_map
  * DatabaseMysqlBase::open
    * mysqli::*

Change-Id: Ib5ae7d1d03b27df504a7e5f552e36a0ca6fcf97e
---
M includes/libs/rdbms/database/DatabaseDomain.php
1 file changed, 5 insertions(+), 2 deletions(-)

Approvals:
  Aaron Schulz: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/libs/rdbms/database/DatabaseDomain.php 
b/includes/libs/rdbms/database/DatabaseDomain.php
index 01b6b21..a3ae6f1 100644
--- a/includes/libs/rdbms/database/DatabaseDomain.php
+++ b/includes/libs/rdbms/database/DatabaseDomain.php
@@ -51,7 +51,6 @@
                        throw new InvalidArgumentException( "Prefix must be a 
string." );
                }
                $this->prefix = $prefix;
-               $this->equivalentString = $this->convertToString();
        }
 
        /**
@@ -105,7 +104,7 @@
                        );
                }
 
-               return ( $this->equivalentString === $other );
+               return ( $this->getId() === $other );
        }
 
        /**
@@ -133,6 +132,10 @@
         * @return string
         */
        public function getId() {
+               if ( $this->equivalentString === null ) {
+                       $this->equivalentString = $this->convertToString();
+               }
+
                return $this->equivalentString;
        }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/313315
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib5ae7d1d03b27df504a7e5f552e36a0ca6fcf97e
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: Aaron Schulz <asch...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to