فهرست منبع

Generate literal ids only once and use in equals()

Significant speedup because equals and getId() are called so frequently.
Nils Adermann 13 سال پیش
والد
کامیت
69f55d37bb
1فایلهای تغییر یافته به همراه3 افزوده شده و 2 حذف شده
  1. 3 2
      src/Composer/DependencyResolver/Literal.php

+ 3 - 2
src/Composer/DependencyResolver/Literal.php

@@ -25,6 +25,7 @@ class Literal
     {
         $this->package = $package;
         $this->wanted = $wanted;
+        $this->id = ($this->wanted ? '' : '-') . $this->package->getId();
     }
 
     public function isWanted()
@@ -44,7 +45,7 @@ class Literal
 
     public function getId()
     {
-        return ($this->wanted ? '' : '-') . $this->package->getId();
+        return $this->id;
     }
 
     public function __toString()
@@ -59,6 +60,6 @@ class Literal
 
     public function equals(Literal $b)
     {
-        return $this->getId() === $b->getId();
+        return $this->id === $b->id;
     }
 }