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