Browse Source

Generate literal ids only once and use in equals()

Significant speedup because equals and getId() are called so frequently.
Nils Adermann 14 năm trước cách đây
mục cha
commit
69f55d37bb
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  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;
     }
 }