Krinkle has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/313315

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, 4 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/15/313315/1

diff --git a/includes/libs/rdbms/database/DatabaseDomain.php 
b/includes/libs/rdbms/database/DatabaseDomain.php
index 01b6b21..d030dad 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,9 @@
         * @return string
         */
        public function getId() {
+               if ( !$this->equivalentString ) {
+                       $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: newchange
Gerrit-Change-Id: Ib5ae7d1d03b27df504a7e5f552e36a0ca6fcf97e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklem...@gmail.com>

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

Reply via email to