Sfoglia il codice sorgente

Generate literal ids only once and use in equals()

Significant speedup because equals and getId() are called so frequently.
Nils Adermann 13 anni fa
parent
commit
69f55d37bb
1 ha cambiato i file con 3 aggiunte e 2 eliminazioni
  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;
     }
 }