Explorar el Código

Generate literal ids only once and use in equals()

Significant speedup because equals and getId() are called so frequently.
Nils Adermann hace 13 años
padre
commit
69f55d37bb
Se han modificado 1 ficheros con 3 adiciones y 2 borrados
  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;
     }
 }